代码操作 DI010(改进)用 MIN/MAX 替代 IF
说明
当条件表达式用于返回两个值中的最小值或最大值时,使用 MIN 或 MAX 函数会更高效,也更精简。
示例
将:
IF([Total Sales] > 0, [Total Sales], 0))
替换为:
MAX([Total Sales], 0)
为什么 Tabular Editor 会建议这样做?
在 DAX 中,一个常见的反模式是先用 IF 语句比较两个值,然后返回其中较小或较大的那个。 但这个模式可以用 MIN 或 MAX 函数简化,代码更高效,也更易读。 当 MIN 函数以两个参数调用时,会返回两者中的较小值;而 MAX 函数则返回较大值。 使用这些函数后,代码会更简洁,也更容易理解。
此外,如果参数中包含对度量值的引用,这些引用只会被计算一次,从而有助于提升性能。