Arbejd med DAX-funktioner
Biblioteket med DAX-funktioner består af hundredvis af funktioner, der hver især er designet til at opfylde et bestemt formål.
Da DAX stammer fra Power Pivot-tilføjelsesprogrammet til Microsoft Excel 2010, er der flere end 80 funktioner, som også findes i Excel. Det var en bevidst design strategi fra Microsofts side, der sikrer, at Excel-brugere hurtigt kan blive produktive med DAX.
Der findes dog mange funktioner, som du ikke kan finde i Excel, da de er specifikke for datamodellering:
- Funktioner til relationsnavigation
- Funktioner til ændring af filterkontekst
- Iteratorfunktioner
- Time intelligence-funktioner
- Stifunktioner
Tip
Hvis du vil søge efter dokumentation, der er relateret til en DAX-funktion, skal du i en websøgning angive nøgleordet DAX- efterfulgt af funktionens navn.
Du kan finde flere oplysninger i Reference til DAX-funktion.
Funktioner, der stammer fra Excel
I følgende afsnit beskrives flere nyttige funktioner, som du måske allerede kender til, da de findes i Excel.
IF
DAX-funktionen tester, om en betingelse, der er angivet som det første argument, er opfyldt. Den returnerer en værdi, hvis betingelsen er TRUE, og returnerer den anden værdi, hvis betingelsen er FALSE. Funktionens syntaks er:
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Tip
Et funktionsargument er valgfrit, når det vises omsluttet af kantede parenteser i dokumentationen.
Hvis logical_test evalueres til FALSE, og value_if_false ikke angives, returnerer funktionen BLANK.
Der er mange funktioner til opsummering i Excel, herunder SUM
, COUNT
, AVERAGE
, MIN
, MAX
og mange andre. Den eneste forskel er, at du i DAX overfører en kolonnereference, mens du i Excel overfører et celleområde.
Mange matematiske og logiske funktioner samt tekst-, dato- og klokkeslæt- og informationsfunktioner fra Excel er også tilgængelige. Et lille eksempel på Excel-funktioner, der er tilgængelige i DAX, omfatter ABS
f.eks. , ROUND
, , SQRT
, LEFT
LEN
, RIGHT
, NOW
YEAR
DATE
MONTH
UPPER
, ISNUMBER
TRUE
FALSE
, AND
, OR
, NOT
, og .IFERROR
Funktioner, der ikke stammer fra Excel
To nyttige DAX-funktioner, der ikke er specifikke for modellering, og som ikke stammer fra Excel, er DISTINCTCOUNT
og DIVIDE
.
Funktionen DISTINCTCOUNT
Du kan bruge DISTINCTCOUNT
DAX-funktionen til at tælle antallet af entydige værdier i en kolonne. Denne funktion er især effektiv i en analyseløsning. Tænk på, at antallet af kunder adskiller sig fra antallet af forskellige kunder. Sidstnævnte tæller ikke kunder, så forskellen er "hvor mange kunder" sammenlignet med "hvor mange forskellige kunder".
Funktionen DIVIDE
Du kan bruge DAX-funktionen DIVIDE
til at opnå division. Du skal angive udtryk for tæller og nævner. Du kan også angive en værdi, der repræsenterer et alternativt resultat. Funktionens DIVIDE
syntaks er:
DIVIDE(<numerator>, <denominator>[, <alternate_result>])
Funktionen DIVIDE
håndterer automatisk division med nul sager. Hvis der ikke angives et andet resultat, og nævneren er nul eller BLANK, returnerer funktionen BLANK. Hvis der angives et alternativt resultat, returneres det i stedet for BLANK.
Denne funktion er praktisk, fordi udtrykket ikke først skal teste nævnerværdien. Funktionen er også bedre optimeret til test af nævnerværdien end funktionen IF
. Ydeevnefordelen er vigtig, da det er dyrt at kontrollere, om der forekommer division med nul. Derudover resulterer brugen af DIVIDE
funktionen i et mere præcist og elegant udtryk.
Tip
Vi anbefaler, at du bruger DIVIDE
funktionen , når nævneren er et udtryk, der kan returnere nul eller BLANK. Hvis nævneren er en konstantværdi, anbefaler vi, at du bruger divisionsoperatoren (/), som introduceres senere i dette modul. I dette tilfælde garanteres det, at divisionen lykkes, og dit udtryk fungerer bedre, da unødvendige test undgås.