Sdílet prostřednictvím


DIVIDE funkce vs. operátor divide (/)

Když jako modelátor dat napíšete výraz DAX, který divide čitatele jmenovatelem, můžete použít funkci DIVIDEor operátoru divide (/ - lomítko).

Při použití funkce DIVIDE je nutné předat výrazy čitatele a jmenovatele and. Můžete volitelně předat value, který představuje alternativní výsledek .

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

Funkce DIVIDE byla navržena tak, aby automaticky zpracovávala případy dělení nulou. If alternativní výsledek je not předán, and jmenovatel je nula orBLANK, funkce vrátí BLANK. Když je zadán alternativní výsledek, vrátí se namísto BLANK.

Funkce DIVIDE je pohodlná, protože ukládá výraz od nutnosti first testovat jmenovatel value. Funkce je také lépe optimalizovaná pro testování jmenovatele value než funkce IF. Zvýšení výkonu je významné, protože kontrola dělení nulou je nákladná. Další použití DIVIDE vede k výstižnějšímu and elegantnímu výrazu.

Příklad

Následující výraz measure vytvoří bezpečné dělení, ale zahrnuje použití čtyř DAX funkcí.

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

Tento výraz measure dosahuje stejného výsledku, ale efektivněji and elegantně.

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

Doporučení

Doporučujeme použít funkci DIVIDE vždy, když jmenovatel je výraz, který může vrátit nulovou orBLANK.

V případě, že jmenovatel je konstantní value, doporučujeme použít operátor divide. V tomto případě je zaručeno, že dělení bude úspěšné, and váš výraz bude fungovat lépe, protože se vyhne zbytečnému testování.

Pečlivě zvažte, zda by funkce DIVIDE měla vrátit alternativní value. Pro míry je to obvykle lepší návrh, který vrací BLANK. Vrácení BLANK je lepší, protože vizuály sestav – ve výchozím nastavení – eliminují seskupení, když jsou souhrny BLANK. Umožňuje vizuálu zaměřit pozornost na skupiny, ve kterých existují data. V případě potřeby můžete v Power BI nakonfigurovat vizuál tak, aby zobrazoval all skupiny (které vrací valuesorBLANK) v kontextu filter povolením možnosti Zobrazit položky bez dat.