Arbejd med DAX-funktioner

Fuldført

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, MAXog 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 ABSf.eks. , ROUND, , SQRT, LEFTLEN, RIGHT, NOWYEARDATEMONTHUPPER, ISNUMBERTRUEFALSE, 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.