在计算 NumOfDays 时定义 "day" 的粒度?

Define the granularity for "day" when calculating NumOfDays?

在计算每天的平均销售额时,我有以下 NumOfDays 的度量:

NumOfDays = IF (
    [Sales Amount] > 0; 
    COUNTROWS ( Date )
)

这是在删除那些没有销售的日期的天数。

因此,我有以下视觉效果:

如您所见,总数是错误的。 这是因为数据库的年份比矩阵中显示的年份多。 计算 NumOfDays 时如何定义 "day" 的粒度? 也就是说,我如何计算只有销售额的那些天的行数?

谢谢!

我推荐两件事:

  1. 使用 CALCULATE() 而不是 IF,这是使用过滤器定义度量的正确 DAX 方法
  2. 使用 DISTINCTCOUNT() 而不是 COUNTROWS(),以确保您永远不会 运行 重复计算(以防您的数据变得更细化)

此计算可能有效 - 但您可能需要在日期内指定实际日期列 table。

NumOfDays = CALCULATE(DISTINCTCOUNT(Date[Date]),FILTER(SalesTable,[Sales Amount] > 0))

如果还有更多问题,请告诉我您希望在矩阵中看到什么。