在Power BI中对子行的差异日期求和的最佳方法

时间:2017-12-15 10:34:13

标签: powerbi powerquery

我是PowerBI的新手。

我的问题是下一个:我有一个包含父行和子行的表。每一行都有一个开始日期时间和结束日期时间

ItemId    | ParentId  | startDateTime         | endDateTime
1         | null      | 2017-12-12 xx:xx:xx   | 2017-12-12 xx:xx:xx
2         | 1         | 2017-12-12 xx:xx:xx   | 2017-12-12 xx:xx:xx
3         | 1         | 2017-12-14 xx:xx:xx   | 2017-12-15 xx:xx:xx
4         | null      | 2017-12-20 xx:xx:xx   | 2017-12-20 xx:xx:xx
5         | 4         | 2017-12-21 xx:xx:xx   | 2017-12-21 xx:xx:xx
6         | 4         | 2017-12-22 xx:xx:xx   | 2017-12-22 xx:xx:xx

...

我想创建一个新列来保存父行的startDateTime和最后一个子行的endDateTime,并获得日期之间的小时差异。例如对于item1,如果可能在M languaje中我需要48小时?

提前致谢

1 个答案:

答案 0 :(得分:0)

我会在查询编辑器中解决这个问题 - 首先使用ItemId = ParentId添加一个Merge步骤,加入“Current”查询。然后,我将使用Aggregate选项展开生成的Table类型列,并选择endDateTime列。编辑器将生成一个Count函数(通过UI的唯一选项),但您可以将公式调整为List.Max而不是List.Count。

然后,您可以添加自定义列来计算您需要的内容,例如:

= Duration.Days([endDateTime的最大值] - [startDateTime])