如何计算从另一列分组的同一列的时间差异?

我有一个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)]) 

让我知道这是否有帮助。