Power BI Desktop 2023年10月版:秒数转超24小时[hh]:mm:ss格式
解决Power BI中秒数总计转[hh]:mm:ss(支持超24小时)的方法
Power BI内置时间格式会将超24小时的部分进位到日期维度,无法直接满足需求,需通过自定义DAX度量值手动计算并拼接格式:
步骤1:创建自定义度量值
在Power BI中新建度量值,输入以下DAX代码(替换'你的表名'为实际数据表名称):
TotalLossFormatted = VAR TotalSeconds = SUM('你的表名'[LossinHours]) VAR Hours = INT(TotalSeconds / 3600) VAR RemainingSeconds = MOD(TotalSeconds, 3600) VAR Minutes = INT(RemainingSeconds / 60) VAR Seconds = MOD(RemainingSeconds, 60) RETURN FORMAT(Hours, "#") & ":" & FORMAT(Minutes, "00") & ":" & FORMAT(Seconds, "00")
代码说明
TotalSeconds:聚合计算所有LossinHours列的总秒数Hours:总秒数除以3600取整,得到支持任意大数值的总小时数RemainingSeconds:总秒数取模3600,得到拆分小时后剩余的秒数Minutes:剩余秒数除以60取整,得到分钟数Seconds:剩余秒数取模60,得到最终秒数- 最后用
FORMAT函数将分钟、秒格式化为两位数字,小时直接输出原始数值,拼接成[hh]:mm:ss格式
步骤2:在卡片视觉对象中使用
将新建的TotalLossFormatted度量值拖入卡片视觉对象,即可显示符合要求的格式:
- 86401秒 →
24:00:01 - 1209600秒 →
336:00:00 - 79707600秒 →
22141:00:00
额外注意
如果LossinHours列存在空值,可修改TotalSeconds部分为SUM(COALESCE('你的表名'[LossinHours], 0)),确保空值被视为0参与计算。
内容的提问来源于stack exchange,提问作者Yogeshsinh Dnyaneshwar Khebde
相关产品推荐
相关产品推荐

