DIVIDE 函数与除法运算符 (/)
作为数据建模器,在编写 DAX 表达式以用分母分隔分子时,可以选择使用 DIVIDE 函数或除法运算符(/ - 正斜杠)。
使用 DIVIDE 函数时,必须传递分子和分母表达式。 (可选)可以传入一个值,该值表示 备用结果。
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 提供创意