使用日期表在PowerBI中动态计算度量

时间:2019-09-10 15:43:53

标签: powerbi dax

我正在尝试使用日期表,格式为

Date         Month   Day   Year
01/01/2019   01      01    2019
01/02/2019   01      02    2019
....

带有另一个表,称为A,其格式为

ID    DateStarted   Type
01    12/30/2018    apple
02    12/30/2017    apple
03    12/31/2018    carrot
...

我想创建一个度量或其他内容,因此我可以在图表中动态显示开始日期在日期表中某个随机日期的12个月内的苹果/胡萝卜数(我想在图表上将日期表['Date']字段显示为我的轴,例如,将计算出的“ 12个月内”作为我的值,然后可以将“ type”字段用作我的图例值。在上面的示例中,我将在图表上看到2019年1月至12月,然后在2019年1月看到苹果和胡萝卜的值分别为1和1(因为另一个苹果在此之前24个月才发货)。然后,在2月在图表上显示为2019年,则两个值均为0。

我试图弄乱Countax,但是我似乎无法使其正常工作,因为Date表中有多个值,powerbi希望我对其进行汇总。

Shipments in past 12 months = COUNTAX(MDBEQUIP,(DATEDIFF(Dates[Date],MDBEQUIP[Tag added date],MONTH)<12))

这是最好的方法吗?我的另一个想法是尝试动态创建一个新表,其中包含所有计算出的列,例如

Month    Type    Calculated column for above

但是不确定是否还有其他方法。

1 个答案:

答案 0 :(得分:0)

A Count = COUNTROWS ( 'A' )
A Count Rolling 12 months =
VAR CurrentEndOfMonth = EOMONTH ( MAX ( 'Date'[Date] ), 0 )
RETURN
  CALCULATE (
    [A Count],
    DATESINPERIOD ( 'Date'[Date], CurrentEndOfMonth, -11, MONTH )
  )

假定关系为“日期” -1:N->“ A”。

此外,我不确定您的预期输出是什么。 2018年12月是2019年2月之前的2个月。因此,基于12个月的滚动逻辑,我希望看到每个“苹果”和“胡萝卜”的计数为1。因此,如果上述措施不是您所期望的,则您需要进一步说明要实现的目标。