DAX voor Financials #5 – CALCULATE

In deze serie DAX voor Financials leggen we een aantal veelgebruikte DAX-formules uit. We behandelen daarbij formules die veel gebruikt worden voor financiële rapportages en dashboards. We kijken dus naar DAX vanuit de optiek van een accountant, controller of administrateur. 

We werken in dit voorbeeld verder met de dataset uit het vorige blog item.

CALCULATE

Tijd voor de belangrijkste en meest gebruikte DAX-functie: CALCULATE. Hierin komt de theorie die we in de vorige blogitems hebben behandeld bij elkaar.

CALCULATE(<expression>[, <filter1> [, <filter2> [, …]]])

De eerste parameter is de expressie, de formule die je wilt berekenen. De tweede (en eventueel volgende) parameters zijn de filters. De CALCULATE functie voert dit andersom uit, eerst wordt de tabel gefilterd met de filter parameters. Over de tabel die hier uit resulteert wordt de expressie berekend. 

 

In dit voorbeeld wordt eerst een filter toegepast op de tabel Mutaties, alleen de regels met Klantnr 1001 blijven over. Vervolgens wordt over deze gefilterde regels de berekening SUM(Mutaties[Bedrag]) uitgevoerd. Het resultaat is de omzet van alleen klantnummer 1001, zoals te zien in de uitwerking.

CALCULATE met gerelateerde tabellen

Met CALCULATE kun je ook gebruik maken van de gerelateerde tabellen. Van klantnummer 1000 weten we dat die in Nederland gevestigd is, maar in de tabel Mutaties hebben we geen kolom met het Land. Met CALCULATE kun je dit als volgt oplossen:

In dit voorbeeld leggen we een filter op het Land uit de tabel Klanten, dus een andere tabel als waar de omzetbedragen staan. Het is goed om je te realiseren dat de uitkomst van het filter argument een tabel is. In dit geval een tabel met alle klanten waar het land Nederland is. Deze tabel wordt als filter gelegd op alle regels uit de tabel Mutaties, dus indirect worden alle regels uit de tabel Mutaties gefilterd waar het klantnr 1000 is. Over deze regels wordt vervolgens de som van het bedrag berekend.

Filter is een tabel

Hierboven hebben we verteld dat het filter argument een tabel is. Dat klinkt misschien wat cryptisch, maar het is goed om je dat te realiseren. Deze tabel kan namelijk al een gefilterde tabel zijn, bijvoorbeeld met een slicer.

In dit voorbeeld worden alleen de mutatie regels van het jaar 2020 doorgegeven in de filter parameter van CALCULATE. De uitkomst van € 6.300 is hierdoor de optelling van alleen de mutaties van 2020.

In de volgende blog items gaan we kijken hoe we dit filter kunnen aanpassen.

Meer weten?

Met Power BI maak je in korte tijd fraaie dashboards en rapportages. Vanuit Davista helpen we je daar graag mee op weg. Voor diverse softwarepakketten bieden we connectors aan, zodat je jouw data in Power BI kunt gebruiken. Voor een snelle start kun je aan de slag met een standaard dashboard of met één van de templates. Natuurlijk kunnen we je ook helpen met een dashboard op maat, of we geven je een training zodat je zelf jouw dashboards kunt maken.

Nodig ons gerust uit voor een vrijblijvende kennismaking, zodat we de meerwaarde voor jouw onderneming kunnen laten zien.