Het probleem: Power BI rechtstreeks op Excel
In veel organisaties begint de Power BI-reis met een eenvoudige stap: iemand exporteert data uit het ERP naar Excel, bewerkt de kolommen een beetje, en verbindt Power BI Desktop met dat bestand. Het werkt. Het ziet er mooi uit. En iedereen is blij — totdat de volgende maand aanbreekt en het hele proces opnieuw gedaan moet worden.
Dit patroon is herkenbaar bij transportbedrijven die maandelijks rittendata exporteren, bij zorgorganisaties die productiviteitsoverzichten handmatig samenstellen, en bij financieel controllers die elke week een P&L-overzicht opstellen. De Excel is het rapport, en het rapport is de Excel. Dat is een probleem.
Maar ook als je de Excel niet handmatig aanvult en Power BI Direct Query of een automatische Import-verbinding gebruikt, loop je tegen de fundamentele beperkingen van Excel als databron aan.
Wat gaat er mis bij grote Excel-bestanden?
Excel heeft harde limieten die zelden worden besproken in Power BI tutorials:
- Bestandsvergrendeling: Een .xlsx-bestand op een netwerkschijf of SharePoint kan slechts door één gebruiker tegelijk worden geopend voor schrijven. Als de ETL-medewerker het bestand bijwerkt terwijl Power BI Service een refresh uitvoert, faalt de refresh.
- Geen incrementele verversing: Power BI moet het volledige Excel-bestand inlezen bij elke refresh. Bij een bestand van 500.000 rijen duurt dat minuten. Er is geen manier om alleen nieuwe rijen te lezen.
- Bestandsgrootte en corruptie: Excel-bestanden boven de 50–100 MB worden traag en zijn gevoelig voor corruptie. We zien dit regelmatig bij organisaties die meerdere jaren data in één Excel-bestand bewaren.
- Geen transacties: Als een macro halverwege crasht tijdens het bijwerken van het bestand, blijft de Excel in een inconsistente staat achter. Er is geen rollback-mechanisme zoals in een echte database.
- Geen indexering: Excel kent geen query-optimizer of indexen. Power BI moet bij elke filter-operatie de volledige dataset scannen, wat de performance verslechtert naarmate het bestand groeit.
Waarom Azure SQL een betere keuze is
Azure SQL Database is een volledig beheerde relationele database in de Microsoft Azure cloud. Voor Power BI rapportages biedt het de volgende fundamentele voordelen ten opzichte van Excel:
- Concurrente toegang: Tientallen gebruikers en processen kunnen gelijktijdig lezen en schrijven zonder conflicten. De database regelt vergrendeling op rij-niveau, niet op bestandsniveau.
- Indexering: Azure SQL ondersteunt geoptimaliseerde columnstore-indexen die specifiek zijn ontworpen voor analytische queries. Een query over 10 miljoen transactieregels duurt seconden in plaats van minuten.
- Incrementele laadstrategie: Een ETL-pipeline kan nieuwe en gewijzigde records herkennen via tijdstempelkolommen en alleen die laden. Dit reduceert de refreshtijd drastisch.
- Transacties en rollback: Elke schrijfoperatie is atomair. Als de ETL-pipeline halverwege faalt, wordt de gehele transactie teruggedraaid en blijft de database consistent.
- Schaalbaar naar honderden miljoenen rijen: Azure SQL schaalt via tiers (DTU of vCore). De serverless tier schaalt automatisch mee met het verbruik.
Performance: Import mode vs. Excel als bron
In onze projecten meten we structureel het verschil in refresh-snelheid. Een representatief voorbeeld uit een transportklant:
| Scenario | Dataset | Refreshtijd |
|---|---|---|
| Power BI → Excel (SharePoint) | 480.000 rijen, 12 kolommen | 8–12 minuten |
| Power BI → Azure SQL (Import) | 480.000 rijen, 12 kolommen | 45–90 seconden |
| Power BI → Azure SQL (incrementeel) | Alleen nieuwe rijen (dagelijks +2.000) | 8–15 seconden |
Het verschil is niet marginaal — het is een ordegrootte. Dit heeft directe impact op de gebruikservaring: een dashboard dat 10 minuten duurt om te verversen wordt niet gebruikt.
Betrouwbaarheid en datakwaliteit
Excel biedt geen mechanisme voor data-validatie op databaseniveau. Iedereen die toegang heeft tot het bestand kan handmatig waarden aanpassen, rijen verwijderen of formules overschrijven. In Azure SQL implementeer je constraints:
- NOT NULL constraints voor verplichte velden
- Foreign key constraints voor referentiële integriteit
- Check constraints voor waardebereiken (bijv. marge kan niet hoger zijn dan 100%)
- Triggers voor audit logging: wie wijzigde wat en wanneer?
Bovendien is Azure SQL volledig geïntegreerd met Azure Monitor en kan je alerting instellen op gefaalde ETL-runs, onverwachte recordaantallen en query-timeouts. Met Excel weet je pas dat er iets mis is als iemand het rapport opent en rare cijfers ziet.
Schaalbaarheid: van 10.000 naar 10 miljoen rijen
Excel werkt prima bij datasets tot circa 50.000–100.000 rijen. Daarboven wordt het merkbaar trager. Azure SQL heeft in de praktijk geen limiet op de hoeveelheid data die relevant is voor Power BI rapportages — de limieten liggen bij tientallen terabytes, ver buiten het bereik van welke rapportage dan ook.
Concreet: een zorgorganisatie met 500 medewerkers die 5 jaar aan zorgregistraties bewaart, heeft al snel 15–20 miljoen registratieregels. In Excel is dat onhaalbaar. In Azure SQL met een columnstore-index is een aggregatiequery over die dataset binnen 2–3 seconden klaar.
Kosten: Excel is niet gratis
Het veelgehoorde argument voor Excel is dat het "gratis" is. Maar de echte kosten zitten verborgen in de arbeidsuren:
- Een medewerker die 4 uur per maand besteedt aan Excel-exports en rapportage-updates, kost bij een uurtarief van €50 al €2.400 per jaar aan verborgen kosten.
- Elke keer dat een fout wordt gevonden en gecorrigeerd (en vergaderingen worden gebruikt om de discrepantie te bespreken) kost dat extra uren.
- Als de persoon die het Excel-rapport bijhoudt ziek wordt of de organisatie verlaat, is er een kennisrisico.
Azure SQL kost voor een typisch Power BI datawarehouse €30–100 per maand. Die investering verdient zich terug in een paar bespaarde werkuren per kwartaal.
Wanneer is Excel wél geschikt?
Eerlijkheid gebiedt te zeggen dat Excel als Power BI-bron wél geschikt is in specifieke situaties:
- Kleine, statische datasets: Een referentietabel met 500 productcodes die zelden wijzigt, prima in Excel.
- Prototypes en proof-of-concepts: Voordat je een ETL-pipeline bouwt, is het handig om de datastructuur te valideren in Power BI via Excel.
- Éénmalige analyses: Als je een ad-hoc analyse doet voor één specifieke vraag en het rapport daarna wordt gearchiveerd.
- Individueel gebruik: Eén persoon die zelf de data bijhoudt en zelf het rapport gebruikt, zonder automatisering of samenwerking.
Zodra het rapport door meerdere mensen wordt gebruikt, automatisch ververst moet worden, of groeit naar honderdduizenden rijen, is het moment gekomen om over te stappen naar Azure SQL.
Klaar om van Excel naar Azure SQL over te stappen?
Argus BI bouwt het volledige traject: ETL-koppeling, Azure SQL datawarehouse en Power BI dashboards. Plan een gratis intake van 30 minuten.
Laat je dataplatform beoordelenVeelgestelde vragen
Kan ik niet gewoon Power BI direct op Excel aansluiten?
Dat kan, en voor kleine, statische datasets is het ook acceptabel. Zodra het bestand groter wordt dan een paar honderd duizend rijen, meerdere gebruikers het bestand bewerken, of je scheduled refresh nodig hebt, loop je tegen fundamentele beperkingen aan. Azure SQL lost deze problemen structureel op.
Wat zijn de kosten van Azure SQL per maand?
Azure SQL Database (serverless tier) begint bij ca. €5–15 per maand voor een kleine database. Voor een typisch Power BI datawarehouse met dagelijkse ETL en een dataset van 10–100 GB reken je op €30–100 per maand. Dit staat in scherp contrast met de arbeidskosten van handmatige Excel-rapportage.
Is Azure SQL ook geschikt voor kleine organisaties?
Ja, zeker. De serverless tier van Azure SQL schaalt automatisch mee met het gebruik en pauzeert wanneer er geen queries zijn — je betaalt alleen voor daadwerkelijk gebruik. Dit maakt Azure SQL betaalbaar voor organisaties met minder dan 50 medewerkers die professioneel willen rapporteren zonder hoge vaste lasten.
Hoe lang duurt de migratie van Excel naar Azure SQL?
Een typische migratie van een Excel-gebaseerde rapportage naar een Azure SQL datawarehouse met Power BI duurt 3 tot 6 weken. Week 1: intake en datamodel ontwerp. Week 2–3: ETL-koppeling en SQL-staging bouwen. Week 4–5: Power BI dashboard bouwen en testen. Week 6: live-gang en gebruikerstraining.