DIVIDE funktion vs. divisionsoperatorn (/)
Som datamodellerare, när du skriver ett DAX-uttryck för att dela en täljare med en nämnare kan du välja att använda funktionen DIVIDE eller operatorn för division (/ - snedstreck).
När du använder funktionen DIVIDE måste du skicka in täljar- och nämnaruttryck. Du kan också skicka in ett värde som representerar ett alternativt resultat.
DIVIDE(<numerator>, <denominator> [,<alternateresult>])
Funktionen DIVIDE har utformats för att automatiskt hantera fall av division med noll. Om ett alternativt resultat inte skickas och nämnaren är noll eller BLANKreturnerar funktionen BLANK. När ett alternativt resultat skickas in returneras det i stället för BLANK.
Funktionen DIVIDE är praktisk eftersom den sparar uttrycket från att först behöva testa nämnarens värde. Funktionen är också bättre optimerad för att testa nämnarens värde än funktionen IF. Prestandavinsten är betydande eftersom det är dyrt att kontrollera divisionen med noll. Ytterligare användning av DIVIDE resulterar i ett mer koncist och elegant uttryck.
Exempel
Följande måttuttryck skapar en säker division, men det innebär att du använder fyra DAX funktioner.
Profit Margin =
IF(
OR(
ISBLANK([Sales]),
[Sales] == 0
),
BLANK(),
[Profit] / [Sales]
)
Det här måttuttrycket uppnår samma resultat, men ändå mer effektivt och elegant.
Profit Margin =
DIVIDE([Profit], [Sales])
Rekommendationer
Vi rekommenderar att du använder funktionen DIVIDE när nämnaren är ett uttryck som kan returnera noll eller BLANK.
Om nämnaren är ett konstant värde rekommenderar vi att du använder divideringsoperatorn. I det här fallet är divisionen garanterad att lyckas och uttrycket presterar bättre eftersom det undviker onödig testning.
Fundera noga på om funktionen DIVIDE ska returnera ett alternativt värde. För mått är det vanligtvis en bättre design att returnera BLANK. Genom att returnera BLANK är mer fördelaktigt eftersom rapportvisualiseringar som standardinställning tar bort grupperingar när summeringar är BLANK. Det gör att det visuella objektet kan fokusera på grupper där data finns. Vid behov kan du i Power BI konfigurera det visuella objektet så att det visar alla grupper (som returnerar värden eller BLANK) i filterkontexten genom att aktivera alternativet Visa objekt utan data.
Relaterat innehåll
- Utbildningsväg: Använda DAX i Power BI Desktop
- Frågor? Prova att fråga Power BI Community-
- Förslag? Bidra med idéer för att förbättra Power BI-