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

Power BI导入Excel数据时,Power Query Editor时间格式转换问题

解决Power BI中Excel时长文本转可计算格式的问题

方法一:转成Duration类型(保留时长格式)

  • 导入数据后进入Power Query编辑器
  • 选中要处理的时长列(总工时/实际工时),点击「添加列」→「自定义列」,根据你的时长格式选对应公式:
    • 如果是标准hh:mm:ss或d.hh:mm:ss格式,直接用:
      Duration.FromText([你的列名])
      
    • 如果是特殊格式(比如h:mm、mm:ss),拆分各部分构建Duration:
      以h:mm为例:
      let
          parts = Splitter.SplitTextByDelimiter(":")([你的列名]),
          hours = Number.From(List.First(parts)),
          minutes = Number.From(List.Last(parts))
      in
          #duration(0, hours, minutes, 0)
      
  • 确定后新列就是可计算的Duration类型,支持求和、筛选等操作
  • 遇到异常值(空值、乱码),加异常捕获避免报错:
    try Duration.FromText([你的列名]) otherwise null
    

方法二:直接转成数值型小时数

如果只需要统计总时长,不需要保留时长格式,可以转成小时数:

  • 在Power Query中添加自定义列,用公式:
    let
        duration = Duration.FromText([你的列名]),
        totalHours = Duration.TotalHours(duration)
    in
        totalHours
    
  • 生成的列是Decimal类型,直接做求和、平均值都没问题

异常格式处理

如果你的时长文本是无分隔符的格式(比如123456代表12小时34分56秒),先拆分再转换:

let
    text = [你的列名],
    hours = Number.From(Text.Start(text, 2)),
    minutes = Number.From(Text.Middle(text, 2, 2)),
    seconds = Number.From(Text.End(text, 2))
in
    #duration(0, hours, minutes, seconds)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 15:55:08