DAX (Data Analysis Expressions)
Wat is DAX?
DAX staat voor Data Analysis Expressions. Het is de rekentaal van Power BI, Excel Power Pivot en Analysis Services. Zie het als de taal waarmee je Power BI leert denken en rekenen. Met DAX maak je formules die cijfers tot leven brengen. Je kan ermee totalen berekenen, resultaten vergelijken met vorig jaar, winstmarges berekenen of groeitrends tonen.
In tegenstelling tot Excel werkt DAX niet op losse cellen, maar op tabellen en relaties tussen die tabellen. Dat maakt het krachtiger en flexibeler. Je kan één formule schrijven die zich automatisch aanpast aan wat je bekijkt in je rapport: per klant, per maand of per product.
Is DAX hetzelfde als Excel formules?
DAX lijkt op Excel, maar het kan veel meer. Het is gebouwd om te werken met datamodellen, niet met platte lijsten. Dat betekent dat je met DAX kan rekenen over verschillende tabellen heen, zolang er een relatie bestaat tussen die tabellen.
Een simpele formule zoals
Total Sales = SUM(Sales[Amount])lijkt eenvoudig, maar onder de motorkap begrijpt Power BI automatisch dat die berekening moet gelden binnen de filters van je visual. Toon je de verkoop per land, dan rekent DAX enkel die rijen die bij dat land horen.
De echte kracht van DAX zit in context. Dat bepaalt op welke data een formule wordt toegepast.
Wat betekent context in DAX?
Context is het hart van DAX. Het bepaalt welke rijen in je data op dat moment zichtbaar zijn voor een berekening. DAX kent twee hoofdvormen van context: rijcontext en filtercontext.
Je kan context zien als de bril waardoor Power BI naar je data kijkt. Wanneer je filters toevoegt, zoals een slicer met een bepaalde maand of regio, verandert die bril. DAX kijkt dan enkel naar wat zichtbaar blijft door die filters.
Rijcontext
Rijcontext betekent dat DAX iets berekent per rij. Als je een berekende kolom maakt, werkt DAX rij per rij, net zoals Excel dat doet.
Voorbeeld:
Line Total = Sales[Quantity] * Sales[UnitPrice]Voor elke rij in de tabel Sales vermenigvuldigt DAX de hoeveelheid met de eenheidsprijs.
Filtercontext
Filtercontext bepaalt welke rijen in je tabel actief zijn op het moment van de berekening. In een Power BI-visual komt die context automatisch: als je een grafiek toont per land, dan past Power BI een filter toe op dat land.
Een formule zoals:
Total Sales = SUM(Sales[Amount])wordt dan automatisch berekend binnen de filter van dat land. DAX kijkt dus enkel naar de relevante rijen.
Een praktisch voorbeeld: stel dat je een grafiek hebt met de omzet per maand. Wanneer je klikt op “maart”, rekent DAX automatisch enkel die rijen die tot maart horen. Klik je daarna op “België” in een ander filter, dan worden enkel de Belgische rijen in maart gebruikt. Zo werkt filtercontext voortdurend in real time.
CALCULATE() en context
De functie CALCULATE() is uniek in DAX: ze laat je toe om de filtercontext te veranderen of uit te breiden.
Voorbeeld:
Sales BE = CALCULATE(SUM(Sales[Amount]), Customers[Country] = "Belgium")Hier zeg je tegen DAX: “Bereken de totale verkoop, maar enkel voor klanten in België.”
Je kan CALCULATE() zien als de afstandsbediening van context. Ze bepaalt welke filters aan of uit staan. Daarmee kan je formules maken die zich bewust anders gedragen dan de standaardcontext.
De rol van DAX in Power BI
In Power BI is DAX de motor achter alle berekeningen. Je gebruikt het voor drie soorten berekeningen:
Metingen (Measures)
Dynamische berekeningen die zich aanpassen aan de filters in je rapport.Total Sales = SUM(Sales[Amount])In een kaart toont dit het totaal. In een grafiek per maand toont het de maandelijkse verkoop.
Berekende kolommen (Calculated columns)
Deze worden per rij berekend en opgeslagen in het model.Profit = Sales[Amount] - Sales[Cost]Handig als je de berekening effectief per rij nodig hebt.
Berekende tabellen (Calculated tables)
Hiermee maak je nieuwe tabellen op basis van bestaande data.TopCustomers = TOPN(10, Customers, [Total Sales])Zo kan je snel overzichten of samenvattingen bouwen.
Een concreet voorbeeld: stel dat je een winkelketen hebt met verkoopdata per regio en maand. Met één DAX-formule voor Total Sales kan je zowel een maandrapport, een landoverzicht als een top 10 van winkels tonen, zonder iets te herschrijven. DAX past zich automatisch aan aan de context van de visual.
Je schrijft de logica voor de berekening eenmalig. Voor elke datapunt begrijpt DAX wat de filtercontext is en past dit toe op de berekening.
Samen zorgen die drie types ervoor dat je met één dataset tientallen inzichten kan creëren.
DAX en het tabular model
DAX leeft niet op zichzelf. Het draait op het tabular model, de manier waarop Power BI en Excel data opslaan en verwerken. Je kan het tabular model zien als het geheugen van Power BI: het bevat je tabellen, relaties en kolommen. DAX is de taal die zegt wat er met die data moet gebeuren.
Onder de motorkap rekent DAX met de VertiPaq-engine, een technologie die data comprimeert en supersnel in het geheugen houdt. Daardoor kan Power BI miljoenen rijen verwerken zonder dat je laptop begint te zweten.
Een leuke vergelijking: het tabular model is het brein van Power BI, DAX is de rekenmachine die vertelt wat het brein moet doen.
Om performant te blijven, is het belangrijk dat je DAX-formules efficiënt schrijft. Vermijd onnodige berekeningen in visuals, gebruik measures in plaats van kolommen en zorg dat je model goed gestructureerd is.
Het verschil tussen DAX en Power Query
Veel mensen verwarren DAX met Power Query, maar ze doen totaal iets anders.
Power Query gebruik je om data klaar te maken: opschonen, kolommen splitsen, tabellen samenvoegen, enzovoort.
DAX gebruik je om op die klaargemaakte data te rekenen en analyses te maken.
Power Query komt vóór het laden van de data, DAX werkt nadat de data in het model zit.
Een betere vergelijking: Power Query is de bouwer van je datafundament, DAX is de architect die daarop verder rekent en inzichten bouwt.
De voorgeschiedenis van DAX
Voor DAX bestond er een oudere taal: MDX (Multidimensional Expressions). Die werd gebruikt in de vroegere Analysis Services van Microsoft en werkte met “kubussen”. Dat was krachtig, maar complex.
Toen Microsoft PowerPivot introduceerde in 2010, wilden ze een eenvoudiger systeem dat beter aansloot bij Excel-gebruikers. Zo ontstond DAX: een taal die herkenbaar voelt voor wie al formules kent, maar krachtig genoeg is voor complexe data-analyse. Later groeide dat uit tot de kern van Power BI.
Is DAX moeilijk te leren?
In het begin wel een beetje. Niet omdat het veel code is, maar omdat je anders moet leren denken. Je moet begrijpen hoe context werkt, hoe filters door je model lopen en wanneer berekeningen worden uitgevoerd. Maar zodra dat begrijpt, valt alles op zijn plaats.
De grootste valkuilen bij DAX
Bij DAX draait alles om logica en context. Als je dat niet goed begrijpt, krijg je vaak resultaten die er op het eerste gezicht juist uitzien, maar dat niet zijn. Veel beginners denken dat hun formule fout is, terwijl het meestal aan de context of het datamodel ligt. Hieronder vind je de valkuilen die het vaakst voorkomen, met uitleg waarom ze gebeuren.
1. Context verkeerd begrijpen
De meeste DAX-fouten ontstaan door context. DAX berekent waarden op basis van filters die actief zijn in je rapport. Als je niet weet welke filters gelden, krijg je onverwachte resultaten.
Een formule zoals SUM(Sales[Amount]) lijkt eenvoudig, maar het resultaat hangt af van waar je die gebruikt. In een kaart toont ze het totaal, in een tabel per land toont ze enkel de som van dat land. Wie niet begrijpt dat filters automatisch meespelen, zoekt vaak het probleem in de formule in plaats van in de context.
Voorbeeld: je maakt een measure Total Sales en gebruikt die in een tabel per klant. De cijfers lijken te kloppen, maar in een andere visual vallen ze plots lager uit. De oorzaak? Een actieve slicer die een subset van klanten filtert.
Tip: gebruik functies zoals REMOVEFILTERS() of ALL() om filters bewust te controleren of weg te halen.
2. Verkeerde of ontbrekende relaties
DAX rekent via de relaties tussen tabellen. Als die relaties niet juist zijn ingesteld of de verkeerde richting hebben, kan een berekening leeg blijven of verkeerde waarden geven.
Praktijkvoorbeeld: je wil per klant de omzet tonen, maar de relatie tussen Customers en Sales is verkeerd om. Power BI weet dan niet hoe de gegevens moeten samenlopen.
Tip: controleer altijd of je relaties logisch zijn (bijvoorbeeld één klant naar veel verkopen) en dat de richting klopt met hoe je DAX-formules werken.
3. Te veel berekende kolommen
Veel gebruikers maken voor alles berekende kolommen. Dat lijkt handig, maar maakt je model trager en groter. Measures zijn flexibeler en efficiënter, omdat ze pas berekend worden wanneer ze nodig zijn.
Tip: gebruik berekende kolommen enkel als je het resultaat per rij echt nodig hebt. Voor alles wat samenvattend is, gebruik measures.
4. CALCULATE() verkeerd gebruiken
CALCULATE() is de krachtigste functie in DAX, maar ook de moeilijkste. Ze verandert de filtercontext. Als je dat niet begrijpt, krijg je snel verkeerde resultaten.
Tip: leer eerst goed hoe filters werken voor je met CALCULATE() begint te combineren.
5. Tijdsfuncties zonder kalender-tabel
Functies zoals SAMEPERIODLASTYEAR() of TOTALYTD() werken enkel als je een echte kalender-tabel hebt. Zonder die weet DAX niet hoe maanden of jaren aan elkaar verbonden zijn.
Tip: maak altijd een aparte datums-tabel en markeer die in Power BI als “Date table”.
6. Te veel logica in visuals
Sommige gebruikers bouwen ingewikkelde formules rechtstreeks in visuals. Dat maakt je rapport traag en moeilijk te onderhouden.
Tip: bouw je logica in measures, niet in visuals. Zo blijft je model overzichtelijk en herbruikbaar.
7. Slechte naamgeving
Een model met measures als Measure1 en Measure2 is onwerkbaar.
Tip: gebruik duidelijke namen zoals Total Sales, Margin % of Sales LY. Werk met mappen of prefixen om orde te houden.
8. Denken als Excel
DAX lijkt op Excel, maar het werkt fundamenteel anders. In Excel bereken je per cel; in DAX per context. Wie probeert DAX te gebruiken als Excel, loopt snel vast.
Tip: laat het idee van cellen los. Denk in tabellen, relaties en filters.
DAX leren in de praktijk
Wil je met DAX aan de slag? Begin met de basics en leer stapsgewijs. Enkele nuttige bronnen:
Microsoft Learn: gratis modules rond DAX en Power BI.
SQLBI.com: duidelijke uitleg en voorbeelden van DAX-experts Marco Russo en Alberto Ferrari.
YouTube-kanalen: zoals Guy in a Cube en Data Panda waar je DAX ziet toegepast in echte situaties.
Combineer die theorie met praktijk. Bouw kleine rapporten en test hoe context verandert. Dat is de snelste manier om DAX echt te begrijpen.
Gerelateerde Termen
Microsoft Fabric
Microsoft Fabric is een data-platform van Microsoft dat gegevensbeheer, analyse ...
Power Automate
Power Automate is een tool van Microsoft waarmee je zonder te programmeren repet...
Power Bi
Power BI is een datavisualisatie- en rapporteringstool van Microsoft waarmee je ...
Power BI Embedded
Power BI Embedded laat je Power BI-rapporten inbouwen in je eigen software of we...
Power BI Enhanced Report Format (PBIR)
PBIR is het nieuwe standaard bestandsformaat voor Power BI rapporten. In plaats ...
Power BI vs Qlik
Twijfel je tussen Power BI en Qlik? Lees de vergelijking van Data Panda en ontdek de verschillen in ...
Oct 22, 2025
Hoe je Power BI-rapporten kunt "blurren" (en waarom je dat eens zou moeten proberen)
Ontdek hoe je een blur-effect toevoegt aan je Power BI-rapporten met een eenvoudig stukje HTML. Leer...
Oct 16, 2025