首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算同一列按另一列分组的时间差?

如何计算同一列按另一列分组的时间差?
EN

Stack Overflow用户
提问于 2017-01-28 03:36:59
回答 1查看 1.2K关注 0票数 2

我有一个excel power查询(也添加到powerpivot数据表),有两个字段: Location和OpenedTime。Location列有许多重复项,例如:

代码语言:javascript
复制
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

我正在寻找的是一种方法来计算3个地点的开放时间的差异。

因此,对于LOC_1,新列将显示10/10/2016 12:08:00 PM与9/25/2016 1:48:56 AM之间的差异。

由于有多个时间戳来计算差异,我在想是否可以将所有差异平均为每个LOC的一个平均差异

谢谢你!!

EN

回答 1

Stack Overflow用户

发布于 2017-01-28 04:47:15

你可以这样做来获得想要的结果:

使用以下DAX表达式将新列添加到PowerPivot表中:

代码语言:javascript
复制
Previous Date=
CALCULATE (
    MAX ( [OpenedTime] ),
    FILTER (
        TableName,
        EARLIER ( TableName[OpenedTime] ) > [OpenedTime]
            && EARLIER ( TableName[Location] ) = [Location]
    )
)

此表达式获取上一日期。您应该计算每一行的差值,请注意,如果没有上一日期,则将其留空。

然后,向PowerPivot表中添加第二个计算列,以计算Minutes中的差值

代码语言:javascript
复制
Diff (Min)=DATEDIFF([Previous Date],[OpenedTime],MINUTE)

如果你想计算小时的差值,只需将分钟替换为小时、天或秒,等等。

它将为您提供一列差值,然后您可以通过创建度量轻松地计算平均值:

代码语言:javascript
复制
Avg OpenedTime (Min) := AVERAGE(TablaName[Diff (Min)])

如果这有帮助,请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41901726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档