我目前正在尝试创建一个报告,以显示客户在一段时间内的行为方式,但不是按日期进行,而是按客户年龄(自他们首次成为客户以来的月数)进行报告。因此,考虑到一个客户可能已于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
答案 0 :(得分:0)
这样的事情怎么样?
PrevTotal =
VAR CurrAge = SELECTEDVALUE(Table3[Age])
RETURN CALCULATE(SUM(Table3[Units]), ALL(Table3[Date]), Table3[Age] = CurrAge - 1)
CurrAge
变量提供在当前过滤器上下文中求值的Age
。然后,将其插入CALCULATE
行中的过滤器中。