DAX从开始和结束日期获取时间序列

时间:2018-07-04 14:39:48

标签: sql powerbi dax

我有一系列事件,这些事件的开始和结束日期,值和一系列其他属性。

 Country --- Location --- Start-Date --- End-Date  ---  Value per day
 Italy       Rome         2018-01-01     2018-03-15     50
 Belgium     BXL          2017-12-04     2017-12-6      120
 Italy       Milan        2018-03-17     2018-04-12     80

我想将其在DAX中转换为每月的时间序列,例如:

Country  --- Location --- Month ---  Value per day
Italy       Rome         2018-01      50
Italy       Rome         2018-02      50
Italy       Rome         2018-03      22.58 (= 50 /31*(31-17) days)

该值是工业生产能力的加权平均值。 我已经使用Calendar表中的CROSS JOIN完成了此操作,但这非常繁琐,需要计算每个可能的值,而即时计算可能会更快。

有帮助吗? 非常感谢

1 个答案:

答案 0 :(得分:0)

DAX类似于:

Total = 
Var DayDiff =
            SUMMARIZE(Table1,Appointments[End-Date],
            "DayDiff",DATEDIFF(min(Table1[Start-Date]),MAX(Table1[End-Date]),DAY)
            )

RETURN
   sumx(DayDiff,[DayDiff])

您不必在过滤器中使用“国家/地区”,“位置”和“月”(在dax上方),因为它们将在过滤器上下文中可用 您使用(例如数据透视表)。

如果不行,请粘贴示例行。