Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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. The performance gain is significant since checking for division by zero is expensive. 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
It's recommended that you use the DIVIDE function whenever the denominator is an expression that could return zero or BLANK.
Om nämnaren är ett konstant värde rekommenderar vi att du använder divideringsoperatorn. In this case, the division is guaranteed to succeed, and your expression will perform better because it will avoid unnecessary testing.
Fundera noga på om funktionen DIVIDE ska returnera ett alternativt värde. For measures, it's usually a better design that they return BLANK. Returning BLANK is better because report visuals—by default—eliminate groupings when summarizations are 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
- Learning path: Use DAX in 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-