Wat is Power Query?
Power Query is de ETL-engine (extract, transform, load) in Power BI, Excel en andere Microsoft-tools waarmee je data uit bronnen zoals Excel, SQL-databases, SharePoint en API's ophaalt en transformeert voordat die in een rapport landt. Je werkt via een visuele interface (de Power Query Editor) die elke stap vastlegt in een script in de M-taal. Zo zorg je dat data schoon, consistent en herbruikbaar is, zonder de brondata zelf aan te passen.
Power Query is de data-transformatietool in Power BI en Excel waarmee je data uit meerdere bronnen ophaalt, opschoont en klaarmaakt voor analyse.
Waarom data eerst schoongemaakt moet worden
Data uit de praktijk is zelden direct klaar voor analyse. Excel-exports bevatten lege rijen, kolomnamen zijn inconsistent tussen bronnen, datums staan soms als tekst genoteerd en tabellen uit verschillende systemen moeten worden samengevoegd. Power Query is de laag in Power BI die dit oplost voordat de data het datamodel bereikt. Zonder deze stap zou je datamodel en je DAX-berekeningen voortdurend moeten compenseren voor rommelige brondata, wat foutgevoelig en traag is.
Hoe Power Query werkt
Je opent de Power Query Editor vanuit Power BI Desktop via “Gegevens transformeren”. Daar kies je een bron (Excel, CSV, SQL Server, SharePoint, een REST-API, en tientallen andere connectoren) en pas je stap voor stap transformaties toe: kolommen hernoemen of verwijderen, rijen filteren, datatypes corrigeren, tabellen samenvoegen (merge) of onder elkaar plakken (append), en kolommen splitsen of combineren. Elke handeling die je uitvoert wordt vastgelegd als een stap in het paneel “Toegepaste stappen”, in de volgorde waarin je ze hebt uitgevoerd.
Onder de motorkap genereert Power Query voor elke stap code in de M-taal, een functionele scripttaal specifiek voor data-transformatie. Je hoeft M niet te kennen om Power Query te gebruiken, maar het geeft je meer controle wanneer de visuele opties tekortschieten, bijvoorbeeld bij dynamische bronpaden of eigen herbruikbare functies.
Belangrijke transformaties in de praktijk
Veelgebruikte Power Query-acties zijn: kolommen ontpivotteren (van breed naar lang formaat, essentieel voor een goed datamodel), tabellen samenvoegen op een sleutelkolom, groeperen en aggregeren, en het toevoegen van berekende kolommen op basis van conditionele logica. Ook parameters zijn krachtig: je kunt bijvoorbeeld een bestandspad of een datumfilter als parameter instellen, zodat je dezelfde query kunt hergebruiken voor verschillende omgevingen of periodes zonder de stappen opnieuw te bouwen.
Query folding en performance
Bij bronnen die dat ondersteunen (zoals SQL-databases) kan Power Query transformaties vertalen naar de brontaal zelf, een mechanisme genaamd query folding. Dat betekent dat filters en aggregaties al op de bron worden uitgevoerd in plaats van pas na het ophalen van alle data, wat de vernieuwingstijd aanzienlijk verkort. Het is de moeite waard om te controleren welke stappen query folding onderbreken (zoals sommige aangepaste kolommen), zeker bij grote datasets.
Power Query versus het datamodel en DAX
Power Query en DAX vullen elkaar aan, maar hebben een duidelijke taakverdeling. Power Query bepaalt de vorm en kwaliteit van de data vóórdat die het model bereikt: de juiste kolommen, de juiste datatypes, de juiste granulariteit. DAX werkt ná het laden en berekent metingen binnen dat model. Een veelgemaakte fout is om zware berekeningen in Power Query te doen die eigenlijk in DAX thuishoren, of andersom transformaties in DAX te forceren die simpeler in Power Query op te lossen zijn.
Meer weten over wat er na Power Query gebeurt? Lees wat is DAX en wat is een semantisch model in Power BI.
Onze tip: Doe zoveel mogelijk transformaties in Power Query in plaats van achteraf in DAX. Een schoon, goed gestructureerd datamodel maakt je metingen simpeler en je rapport sneller.
Veelgestelde vragen
Wat is het verschil tussen Power Query en DAX?
Power Query transformeert en schoont data op voordat die in het datamodel wordt geladen: denk aan kolommen splitsen, rijen filteren, datatypes wijzigen en tabellen samenvoegen. DAX (Data Analysis Expressions) werkt juist ná het laden en berekent metingen en kolommen binnen het datamodel, zoals totalen, ratio's en tijdsintelligentie. Power Query bepaalt welke data er is en in welke vorm, DAX bepaalt wat je ermee berekent en toont.
Moet ik programmeren om Power Query te gebruiken?
Nee, voor de meeste transformaties gebruik je de visuele Power Query Editor: je klikt op knoppen zoals 'Kolom splitsen' of 'Rijen filteren' en Power Query genereert automatisch de bijbehorende code in de M-taal. Voor geavanceerde of dynamische transformaties, zoals eigen functies of parameters, is enige kennis van M nuttig, maar dat is niet vereist om productief te zijn met Power Query.
Werkt Power Query alleen in Power BI?
Nee, Power Query zit ook in Excel (onder 'Gegevens ophalen en transformeren'), Power Automate, Dataverse en Analysis Services. De transformatielogica die je in Power Query bouwt is grotendeels overdraagbaar tussen deze tools, al verschillen de beschikbare connectoren en de omgeving waarin je werkt enigszins per product.
Wat gebeurt er met de brondata als ik Power Query gebruik?
Power Query verandert nooit de brondata zelf. Alle transformaties gebeuren op een kopie van de data die in het Power BI-datamodel wordt geladen, of on-the-fly bij DirectQuery. De opeenvolgende stappen die je definieert (de 'applied steps') worden bij elke vernieuwing opnieuw uitgevoerd op de actuele brondata, zodat je rapport automatisch up-to-date blijft zonder dat je de transformatiestappen hoeft te herhalen.