Jobbe med DAX-funksjoner

Fullført

DAX-funksjonsbiblioteket består av hundrevis av funksjoner, som hver er utformet for å oppnå et bestemt mål.

Siden DAX kom med Power Pivot-tillegget for Microsoft Excel 2010, er over 80 funksjoner tilgjengelige som også finnes i Excel. Det var en bevisst utformingsstrategi av Microsoft for å sikre at Excel-brukere raskt kan bli produktive med DAX.

Det finnes imidlertid funksjoner som du ikke finner i Excel fordi de spesifikke for datamodellering:

  • Funksjoner for relasjonsnavigering
  • Funksjoner for endring av filterkontekst
  • Gjentakelsesfunksjoner
  • Tidsintelligensfunksjoner
  • Banefunksjoner

Tips

For å søke etter dokumentasjon relatert til en DAX-funksjon, skriver du inn nøkkelordet DAX etter fulgt av funksjonsnavnet når du søker på nettet.

For mer informasjon, kan du se referanse for DAX-funksjon.

Funksjoner som stammer fra Excel

Følgende deler tar for seg flere nyttige funksjoner du kanskje allerede kjenner til fordi de finnes i Excel.

IF DAX-funksjonen tester om en betingelse som er angitt som det første argumentet er oppfylt. Den returnerer én verdi hvis betingelsen er SANN, og returnerer den andre verdien hvis betingelsen er USANN. Funksjonssyntaksen er:

IF(<logical_test>, <value_if_true>[, <value_if_false>])

Tips

Et funksjonsargument er valgfritt når dokumentasjonen viser det i hakeparenteser.

Hvis logical_test evalueres til USANN og value_if_false ikke er angitt, returnerer funksjonen BLANK.

Mange sammendragsfunksjoner i Excel er tilgjengelige, inkludert SUM, COUNT, AVERAGE, MIN, MAXog mange andre. Den eneste forskjellen er at i DAX sender du inn en kolonnereferanse, mens i Excel sender du inn et celleområde.

Mye av matematikken, teksten, dato og klokkeslett, informasjon og logiske funksjoner i Excel er også tilgjengelige. Et lite utvalg av Excel-funksjoner som er tilgjengelige i DAX ABSinkluderer for eksempel , , ROUND, SQRT, LENLEFT, , RIGHT, UPPER, DATE, YEAR, MONTH, NOWISNUMBER, , TRUE, FALSE, AND, , ORNOT, og IFERROR.

Funksjoner som ikke stammer fra Excel

To nyttige DAX-funksjoner som ikke er spesifikke for modellering, og som ikke kommer fra Excel, er DISTINCTCOUNT og DIVIDE.

DISTINCTCOUNT-funksjonen

Du kan bruke DISTINCTCOUNT DAX-funksjonen til å telle antall distinkte verdier i en kolonne. Denne funksjonen er spesielt nyttig i en analyseløsning. Vurder at antallet kunder er forskjellig fra antallet spesifikke kunder. Sistnevnte teller ikke gjentakende kunder, så forskjellen er “Hvor mange kunder” sammenlignet med “Hvor mange forskjellige kunder.”

DIVIDE-funksjonen

Du kan bruke DAX-funksjonen DIVIDE til å oppnå divisjon. Du må sende inn uttrykk for tellere og nevnere. Du kan eventuelt sende inn en verdi som representerer et alternativt resultat. Syntaksen DIVIDE for funksjonen er:

DIVIDE(<numerator>, <denominator>[, <alternate_result>])

Funksjonen DIVIDE håndterer automatisk deling med null tilfeller. Hvis et alternativt resultat ikke sendes inn, og nevneren er null eller BLANK, returnerer funksjonen BLANK. Når et alternativt resultat sendes inn, blir det returnert i stedet for BLANK.

Denne funksjonen er nyttig fordi den lagrer uttrykket ved å først teste nevnerverdien. Funksjonen er også bedre optimalisert for testing av nevnerverdien enn IF funksjonen. Ytelsesforbedringen er viktig fordi det er dyrt å se etter deling på null. I tillegg resulterer bruk av DIVIDE funksjonen i et mer konsis og elegant uttrykk.

Tips

Vi anbefaler at du bruker DIVIDE funksjonen når nevneren er et uttrykk som kan returnere null eller BLANK. Hvis nevneren er en konstant verdi, anbefaler vi at du bruker divisjonsoperatoren (/) som blir introdusert senere i denne modulen. I dette tilfelle er divisjon garantert vellykket, og uttrykket vil fungere bedre fordi det unngår unødvendig testing.