Skip to main content

Wauw! Power BI is geweldig: je zorgt in slechts enkele uren voor mooie resultaten. Wel, dat is wat je zou denken na een indrukwekkende demo. De realiteit daarentegen is anders. Eens je met complexere datasets en met ingewikkelde berekeningen begint, word je je bewust van de kracht van het product en vooral van de mogelijkheden van DAX.

DAX staat voor Data Analysis Expressions en je gebruikt het om analyses te maken en om formules en berekeningen aan je Power BI-rapporten toe te voegen. Als je het voor de eerste keer gebruikt, vind je waarschijnlijk dat het op Excel-formules lijkt. Ze verschillen echter in zekere zin van elkaar. Het is belangrijk om dat verschil eerst te begrijpen voor je correcte berekeningen kan uitvoeren. Het grootste verschil is het volgende:

  • In Excel verwijs je naar cellen wanneer je formules creëert.
  • In Power BI, met DAX, werk je met rijen en kolommen. Met tabellen dus.
  • Een ander significant verschil is het gebruik van een filter- en rijcontext wanneer je DAX gebruikt.

Ik geef even een voorbeeld. Wanneer je in Excel een formule, in mijn voorbeeld een som, doet, gebruik je SUM(B2:B9) (zie figuur 1). Met DAX maak je een formule zoals  TotalSalesAmount = SUM(Sales[Sales Amount]). Die formule zal de TotalSales voor de volledige kolom van de tabel in de huidige context berekenen. Als we die formule of berekening in een tabel met Product Category gebruiken, krijgen we een resultaat zoals in figuur 2. Voor elke Product Category is de formule gefilterd om het verwachte resultaat te bekomen.

Speciaal aan DAX zijn de iteratorfuncties zoals SUMX. Die iteratorfuncties berekenen het resultaat van een formule die voor elke rij in een tabel toegepast wordt: SUMX (<table>;<expression>). De voorgaande besproken formule zou dus ook als volgt berekend kunnen worden: TotalSales = SUMX (Sales;Sales[Quantity]*Sales[Net Price]).

Als je DAX-formules combineert, bijvoorbeeld wanneer je een slicer gebruikt om een jaartal te selecteren, dan zullen de brongegevens (de tabel) gefilterd worden. Bovenop die gefilterde dataset zal de formule uitgevoerd worden. Dat is wat we een Filter Context noemen en een van de redenen waarom DAX zo performant is voor data-analyses.

In mijn volgende post zal ik dieper ingaan op Row en Filter Context.

In onze cursus “Power BI: Core features 1” help ik of een andere trainer je om DAX op een efficiënte manier te gebruiken. In de opleiding “Power BI: Core features 2” gaan we dieper in detail en leggen we je uit hoe je geavanceerde en performante maatstaven ontwerpt waardoor je een uitstekende analyse kan uitvoeren.

Figuur 1

Figuur 2

Leave a Reply