DIVIDE 函式與除法運算子 (/)
身為數據建模者,當您撰寫 DAX 表示式以分子除以分母時,您可以選擇使用 DIVIDE 函數或除法運算子(/ - 斜線)。
使用 DIVIDE 函式時,您必須傳入 numerator 和分母表達式。 您可以選擇性地傳入值,代表 替代結果。
DIVIDE(<numerator>, <denominator> [,<alternateresult>])
DIVIDE 函式的設計目的是要自動處理除以零的情況。 如果未傳入替代結果,且分母為零或 BLANK,則函式會傳回 BLANK。 傳入替代結果時,會傳回該結果,而不是 BLANK。
DIVIDE 函式很方便,因為它會儲存您的表達式,而不需要先測試分母值。 函式也較 IF 函式更適合用於測試分母值。 效能增益很明顯,因為檢查除數為零的代價很昂貴。 進一步使用 DIVIDE 會產生更簡潔且優雅的表達式。
範例
下列量值表達式會產生安全除法,但它牽涉到使用四個 DAX 函式。
Profit Margin =
IF(
OR(
ISBLANK([Sales]),
[Sales] == 0
),
BLANK(),
[Profit] / [Sales]
)
此量值表達式可達成相同的結果,但更有效率且更優雅。
Profit Margin =
DIVIDE([Profit], [Sales])
建議
當分母是可能會讓 傳回零或 BLANK的表示式時,建議使用 DIVIDE 函式。
如果分母是常數值,建議您使用除法運算符。 在此情況下,分割保證會成功,而且您的表達式會執行得更好,因為它會避免不必要的測試。
請仔細考慮 DIVIDE 函式是否應該傳回替代值。 針對量值,通常較佳的設計會傳回 BLANK。 傳回 BLANK 比較好,因為報表視覺效果預設會在摘要 BLANK時排除群組。 視覺效果可以專注於存有資料的群組。 如有必要,在 Power BI 中,您可以設定視覺效果,藉由啟用 [顯示無數據的項目] 選項,在篩選上下文中顯示所有群組(包括傳回值或 BLANK的群組)。
相關內容
- 學習路徑:在Power BI Desktop 中使用 DAX
- 有任何問題嗎? 嘗試詢問Power BI社群
- 有任何建議嗎? 提供想法改善 Power BI