如何计算从另一列分组的同一列的时间差异?
我有一个Excel电源查询(也添加到powerpivot数据表)与两个字段:位置和OpenedTime。 位置列有许多重复的例如这个例子:
Location OpenedTime LOC_1 9/25/2016 1:48:56 AM LOC_2 9/30/2016 2:01:00 PM LOC_1 10/10/2016 12:08:00 PM LOC_3 9/17/2016 9:35:43 PM LOC_1 10/15/2016 11:14:21 AM LOC_2 10/16/2016 8:27:34 PM LOC_3 10/18/2016 11:52:27 AM LOC_2 10/22/2016 9:09:00 AM
我正在寻找的是一种方法来计算三个地点的开放时间的差异。
因此,一个新的列将显示LOC_1的2016/10/10 12:08:00和9/25/2016 1:48:56之间的差异。
由于有多个时间戳来计算差异,我想是否有可能将所有的差异平均为每个LOC的一个平均差
谢谢!!
这是你可以做的,以获得预期的结果:
使用此DAXexpression式将新列添加到PowerPivot表中:
Previous Date= CALCULATE ( MAX ( [OpenedTime] ), FILTER ( TableName, EARLIER ( TableName[OpenedTime] ) > [OpenedTime] && EARLIER ( TableName[Location] ) = [Location] ) )
这个expression式获得对你的前一个date应该计算每一行的差异,请注意,如果没有以前的date,它留下它空白。
然后将第二个计算列添加到PowerPivot表中以计算Minutes
的差异:
Diff (Min)=DATEDIFF([Previous Date],[OpenedTime],MINUTE)
如果你想计算以小时计算的差异,只需用HOUR或DAY或SECONDS等来代替MINUTE。
它会给你一个不同的列,然后你可以通过创build一个度量轻松地计算出平均值:
Avg OpenedTime (Min) := AVERAGE(TablaName[Diff (Min)])
让我知道这是否有帮助。