基于每天行数的 DAX 滚动平均值

问题描述

我有一个表 (TableA),其中一列名为 DateAdded,它是一个日期时间戳,该表每天输入多行。在 PowerBI 中,我已将此表设置为与日期表 (Dates) 的关系。如果我将 TableA 添加一个简单的列表视图并在页面上放置一个日期范围切片器,那么一切都会按预期工作(TableA 会根据日期选择进行过滤) - 这证明关系有效。

我想做的是根据每天添加的行数在图表中添加滚动平均值。

表A

日期.........|产品......


2021-07-10 |参考文献1
2021-07-10 |参考文献2
2021-07-10 |参考文献3
2021-07-11 |参考4
2021-07-11 |参考文献5
2021-07-12 |参考文献6
2021-07-13 |参考文献7
2021-07-13 |参考文献8
2021-07-13 |参考文献9
2021-07-13 |参考文献 10

预期输出

日期.........|滚动平均.......


2021-07-10 | 3
2021-07-11 | 2.5
2021-07-12 | 2
2021-07-13 | 2.5

这是我当前的 DAX,但它返回的与常规计数完全相同,而不是滚动平均值。

Rolling Average = 
  AVERAGEX(
   FILTER( ALLSELECTED(Dates),Dates[Date] <= MAX(Dates[Date])),COUNT('TableA'[Product])
)

我哪里出错了?

谢谢。

解决方法

我假设你有一个像下面这样的 DM DM

Solution

_date = MAX(_date[date])
_Count = COUNTROWS(_fact)
_rollingCount = 
VAR _1 = MAX(_date[date])
VAR _2 = CALCULATE(CALCULATE([_Count],FILTER(_date,_date[date]<=_1)),ALL(_date[date]))
RETURN _2
_rank = RANKX(ALLSELECTED(_date),[_date],ASC)
_rollingAverage = DIVIDE([_rollingCount],[_rank])