使用 COUNTROWS 而不是 COUNT

作为数据建模器,有时可能需要编写计算表行的 DAX 表达式。 该表可以是模型表或返回表的表达式。

可以通过两种方式实现你的要求。 可以使用 COUNT 函数对列值进行计数,也可以使用 COUNTROWS 函数对表行进行计数。 假设所统计的列不包含 BLANK,则两个函数将获得相同的结果。

以下度量值定义提供了一个示例。 它计算 OrderDate 列值的数目。

Sales Orders =
COUNT(Sales[OrderDate])

假设每个销售订单中“销售”表粒度为一行,并且“订单日期”列不包含 BLANK,则度量值将返回正确的结果。

但是,以下度量值定义是更好的解决方案。

Sales Orders =
COUNTROWS(Sales)

第二个度量值定义更好的原因有三个:

  • 效率更高,因此性能会更好。
  • 它不考虑表的任何列中包含的 BLANK。
  • 公式的意图更加清晰,清晰到可以自我描述。

建议

如果打算对表行进行计数,建议始终使用 COUNTROWS 函数。