Del via


DIVIDE-funksjonen kontra divideringsoperatoren (/)

Når du som datamodellerer skriver et DAX-uttrykk for å dele en teller med en nevner, kan du velge å bruke DIVIDE-funksjonen eller divideringsoperatoren (/ - skråstrek).

Når du bruker DIVIDE-funksjonen, må du sende inn teller- og nevneruttrykk. Du kan eventuelt sende inn en verdi som representerer et alternativt resultat.

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

DIVIDE-funksjonen ble utformet for å håndtere automatisk divisjon 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.

DIVIDE-funksjonen er praktisk fordi den lagrer uttrykket fra å først teste nevnerverdien. Funksjonen er også bedre optimalisert for testing av nevnerverdien enn HVIS-funksjonen . Ytelsesgevinsten er betydelig siden det er dyrt å se etter divisjon med null. Videre bruk av DIVIDE resulterer i et mer konsis og elegant uttrykk.

Eksempel

Følgende måluttrykk produserer en sikker divisjon, men det innebærer å bruke fire DAX-funksjoner.

Profit Margin =
IF(
    OR(
        ISBLANK([Sales]),
        [Sales] == 0
    ),
    BLANK(),
    [Profit] / [Sales]
)

Dette måluttrykket oppnår det samme resultatet, men likevel mer effektivt og elegant.

Profit Margin =
DIVIDE([Profit], [Sales])

Anbefalinger

Det anbefales 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 deleoperatoren. I dette tilfelle er divisjon garantert vellykket, og uttrykket vil fungere bedre fordi det unngår unødvendig testing.

Vurder nøye om DIVIDE-funksjonen skal returnere en alternativ verdi. For mål er det vanligvis en bedre utforming at de returnerer BLANK. Det er bedre å returnere BLANK fordi rapportvisualobjekter, som standard, eliminerer grupperinger når oppsummeringer er BLANK. Det gjør det mulig for visualobjektet å fokusere oppmerksomheten på grupper der det finnes data. Når det er nødvendig, kan du konfigurere visualobjektet til å vise alle grupper (som returnerer verdier eller BLANK) i filterkonteksten ved å aktivere alternativet Vis elementer uten data .