代码操作 DI011(改进)用 ISEMPTY 替换 COUNTROWS
描述
在检查表是否为空时,使用 ISEMPTY 函数通常比统计表的行数更高效。
示例
将以下代码:
IF(COUNTROWS(Products) = 0, "No products", "Products exist")
改为:
IF(ISEMPTY(Products), "No products", "Products exist")
Tabular Editor 为什么会建议这样做?
在检查表是否为空时,DAX 中一个常见的反模式是使用 COUNTROWS 函数统计表的行数,然后将结果与零进行比较。 但这种写法效率较低,因为它要求引擎统计表中的所有行——即使我们只关心这张表是否为空。
使用 ISEMPTY 函数时,引擎一旦找到第一行就可以停止扫描,因此效率高得多。 ISEMPTY 函数在表为空时返回 TRUE,否则返回 FALSE。这让它成为检查表是否为空时更高效、也更易读的写法。