如何创建DAX度量以在不使用日期字段的情况下查找上个月的值?

时间:2018-06-29 16:28:07

标签: powerbi dax

我目前正在尝试创建一个报告,以显示客户在一段时间内的行为方式,但不是按日期进行,而是按客户年龄(自他们首次成为客户以来的月数)进行报告。因此,考虑到一个客户可能已于2016年12月开始而另一个客户已于2017年6月开始,因此使用日期字段并不是真正的选择。

我要查找的是购买单位的逐月变化。如果我使用的是日期字段,那么我知道可以使用

[前一个月总计] = CALCULATE(SUM([Total Units]),PREVIOUSMONTH([FiscalDate]))

我还考虑过使用EARLIER()来查找,但是我认为这种情况下不可行,因为它需要不确定我可以创建的行上下文。下面是我将要使用的表格的简化版本。

ID    Date     Age Units
219  6/1/2017   0   10
219  7/1/2017   1   5
219  8/1/2017   2   4
219  9/1/2017   3   12
342  12/1/2016  0   500
342  1/1/2017   1   280
342  2/1/2017   2   325
342  3/1/2017   3   200
342  4/1/2017   4   250
342  5/1/2017   5   255

1 个答案:

答案 0 :(得分:0)

这样的事情怎么样?

PrevTotal = 
    VAR CurrAge = SELECTEDVALUE(Table3[Age])
    RETURN CALCULATE(SUM(Table3[Units]), ALL(Table3[Date]), Table3[Age] = CurrAge - 1)

CurrAge变量提供在当前过滤器上下文中求值的Age。然后,将其插入CALCULATE行中的过滤器中。