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

Power BI中实现总秒数列转DD-HH:MM:SS格式新列的方法

在Power BI中将秒数格式化为「天数 - 小时:分钟:秒」的方法

根据你的需求,可通过DAX公式创建度量值(动态响应筛选)或计算列(每行固定值)来实现格式转换:

方法1:创建动态度量值(适配筛选条件)

适合需要根据所选筛选条件自动更新总时长的场景,DAX代码如下:

Formatted Duration = 
VAR TotalSeconds = SUM('Sudbury Vehicle Line Time'[DurationSec])
VAR Days = INT(TotalSeconds / 86400)
VAR RemainingSeconds = MOD(TotalSeconds, 86400)
VAR Hours = INT(RemainingSeconds / 3600)
VAR RemainingAfterHours = MOD(RemainingSeconds, 3600)
VAR Minutes = INT(RemainingAfterHours / 60)
VAR Seconds = MOD(RemainingAfterHours, 60)
RETURN
    Days & " - " & FORMAT(Hours, "00") & ":" & FORMAT(Minutes, "00") & ":" & FORMAT(Seconds, "00")

方法2:创建计算列(每行独立格式化)

如果需要给表中每行的DurationSec单独生成格式化文本,使用以下DAX代码:

Formatted Duration Column = 
VAR TotalSeconds = 'Sudbury Vehicle Line Time'[DurationSec]
VAR Days = INT(TotalSeconds / 86400)
VAR RemainingSeconds = MOD(TotalSeconds, 86400)
VAR Hours = INT(RemainingSeconds / 3600)
VAR RemainingAfterHours = MOD(RemainingSeconds, 3600)
VAR Minutes = INT(RemainingAfterHours / 60)
VAR Seconds = MOD(RemainingAfterHours, 60)
RETURN
    Days & " - " & FORMAT(Hours, "00") & ":" & FORMAT(Minutes, "00") & ":" & FORMAT(Seconds, "00")

代码说明

  • TotalSeconds:获取目标秒数(度量值取筛选后的总和,计算列取当前行值)
  • Days:通过总秒数除以86400(1天的秒数)取整得到天数
  • RemainingSeconds:扣除天数后剩余的秒数
  • Hours/Minutes/Seconds:依次从剩余秒数中提取对应时间单位,用FORMAT函数确保两位数格式(不足补0)
  • 最后拼接成「天数 - 小时:分钟:秒」的指定格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:32:15