U bent hier

Onderneming & Administratie
Werken met Power BI8. Werken met de Data ­Analysis eXpressions7.1 Een introductie tot DAX

7.1 Een introductie tot DAX

Dit artikel is eerder verschenen als Themadossier FA Rendement
Publicatiedatum: oktober 2022

Hoewel DAX als taal populair is geworden dankzij Power BI, bestaat de taal al lang voordat Power BI werd ontwikkeld. DAX vindt zijn oorsprong in Excel Power Pivot 2010 en deze kunt u ook gebruiken in Structured Query Language (SQL) en Server Analysis Services (SSAS).

Functies

In DAX bent u vrij om de verschillende functies met elkaar te combineren. Dit maakt DAX een flexibele en krachtige programmeertaal. De verschillende functies zijn in te delen in verschillende groepen. Deze komen hieronder aan bod.

Aggregatiefuncties

tussen-
berekeningen

Aggregatiefuncties geven één waarde terug, een scalaire waarde waarbij de functie een kolom of tussenberekening aggregeert tot één waarde. Functies die hieronder vallen zijn SUM, COUNT en AVERAGE.

Datum-en-tijdfuncties

Datum-en-tijdfuncties zijn de bouwstenen voor datum- en tijdsberekeningen. Denk aan YEAR, HOUR en TODAY.

Filterfuncties

Voor het filteren van tabellen en om filtercontext te manipuleren gebruikt u de filterfuncties. Zo zorgt de functie FILTER ervoor dat een tabel gefilterd kan worden met behulp van een filterexpressie. CALCULATE heeft als functie om de filtercontext te kunnen wijzigen. In combinatie met een functie ALL kunt u bijvoorbeeld filters uitzetten in een berekening.

Financiële functies

financiële 
vakgebied

De financiële functies komen overeen met de functies die ook in Excel beschikbaar zijn. Ze zijn heel specifiek voor het financiële vakgebied. Denk hierbij aan XIRR, YIELD en INTRATE.

Informatiefuncties

De informatiefuncties WAAR (true) of ONWAAR (false) geven de context op basis van een bepaald datatype of filter. Zo geeft ISFILTERED de waarde WAAR (true) op een kolom als deze gefilterd wordt door een Slicer-visual.

Logische functies

Met de logische functies wordt al-dan-logica gebouwd. Denk hierbij onder ander aan functies als IF, SWITCH, AND, OR et cetera.

Wiskundige functies

In de wiskundige functies vindt u specifieke wiskundige en trigonometrische functies, zoals PI, SIN, SQRT, en diverse afrondingsfuncties, zoals MROUND en ROUNDUP.

Hiërarchiefuncties

Om niveaus in een hiërarchie te duiden, maakt u gebruik van de hiërarchiefuncties.

Relatiemanagementfuncties

inactieve relatie

Met de relatiemanagementfunctie kunt u de bestaande relaties in het datamodel manipuleren. Met USERELATIONSHIP kunt u bijvoorbeeld een inactieve relatie tijdelijk activeren voor de specifieke berekening.

Statistische functies

Onder deze groep vallen functies die voor statistische berekeningen relevant zijn. Denk hierbij aan het uitrekenen van percentielen of de mediaan.

Tabelmanipulatiefuncties

kolommen toevoegen

Voor het uitbreiden en wijzigen van bestaande tabellen gebruikt u de tabelmanipulatiefuncties. Bijvoorbeeld met de functie ADDCOLUMNS kunt u aan een bestaande tabel extra kolommen toevoegen.

Tekstfuncties

waarden 
samenvoegen

De tekstfuncties stellen u in staat om tekstwaarden te manipuleren en samen te voegen. Met CONCATENATE kunt u bijvoorbeeld twee waarden samenvoegen tot één tekst. Met ‘UPPER’ wijzigt u alle teksten in kapitalen.

Intelligente-datumperiodefuncties

Met de intelligente-datumperiodefuncties kunt u berekeningen uitvoeren die rekenen met een bepaalde datumperiode. Zo kunt u maanden of jaren met elkaar vergelijken met behulp van de functies PREVIOUSYEAR of PREVIOUSMONTH.

Hoewel spaties tussen de verschillende onderdelen van uw DAX-functies niet verplicht zijn, vergroot dit wel de leesbaarheid. Maak eventueel gebruik van DAX-formatter om complexere formules automatisch op te maken om de leesbaarheid te vergroten: www.daxformatter.com.