You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI中如何计算两行Timestamp列的时间差?

在Power BI中计算Timestamp列两行时间差的具体方法

方法一:用DAX添加计算列(适合数据视图快速操作)

  • 打开Power BI Desktop,加载数据表后切换到左侧数据视图(表格图标)。
  • 选中目标表,点击顶部菜单栏的建模选项卡,选择新建列。
  • 在公式栏输入以下DAX表达式(替换你的表名为实际表名):
    时间差 = 
    VAR 当前时间 = '你的表名'[Timestamp]
    VAR 上一行时间 = OFFSET(-1, '你的表名', ORDER BY '你的表名'[Timestamp])[Timestamp]
    RETURN IF(ISBLANK(上一行时间), BLANK(), 当前时间 - 上一行时间)
    
    • 说明:OFFSET(-1,...)按Timestamp顺序取出当前行的上一行时间,第一行因无前置行返回空值;时间差默认以天为单位。
  • 如需转换为小时/分钟,修改返回逻辑即可,比如转小时:
    RETURN IF(ISBLANK(上一行时间), BLANK(), (当前时间 - 上一行时间)*24)
    

方法二:用Power Query添加自定义列(适合数据预处理)

  • 打开Power BI Desktop,点击顶部转换数据按钮进入Power Query编辑器。
  • 选中目标表,确认Timestamp列是日期/时间类型(若不是,右键列→更改类型→日期/时间)。
  • 点击添加列选项卡,选择索引列→从0开始。
  • 再次点击添加列→自定义列,在弹窗中输入公式(替换你的表名):
    = if [索引] = 0 then null else [Timestamp] - #"你的表名"{[索引]-1}[Timestamp]
    
  • 点击确定后将新列重命名为“时间差”,如需转换单位,右键列→更改类型→选择对应数值类型(如小时/分钟)。
  • 最后点击关闭并应用,返回Power BI界面即可看到新列。

注意事项

  • 确保Timestamp列时间有序,否则时间差计算会不符合预期;若时间无序,可在DAX中调整ORDER BY规则,或在Power Query中先给Timestamp列排序。
  • 若存在重复时间戳,建议先清理数据或添加额外排序依据(如ID列),避免行顺序混乱。

内容的提问来源于stack exchange,提问作者Dimu Rasika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 05:50:26