将持续时间列从文本类型更改为数字/时间数据类型

问题描述 投票:0回答:1

我使用以下公式来计算 HH:MM:SS 公式中的持续时间。

但是,我无法将此新列更新为数字/时间数据类型,因为冒号“:”在文本类型中是必需的,但如果类型是时间则不需要。

我需要对这个结果求和,正如你所知,我确定,文本列类型不允许这样做。

Adjusted Duration HHMMSS = 
VAR _hrs = QUOTIENT ( Total[Average Duration Adjusted] , 60 )
VAR _mins = INT (Total[Average Duration Adjusted] - _hrs * 60 )
VAR _sec = MOD ( Total[Average Duration Adjusted] , 1.0 ) * 60
RETURN
FORMAT(_hrs,"00")&":"&FORMAT(_mins,"00")&":"&FORMAT(_sec,"00")

来源栏:

enter image description here

调整后的持续时间:

enter image description here

请帮忙!

我应该在公式中包含 TIMEVALUE 行吗?

谢谢!!

我尝试将列类型更新为整数并删除冒号,但这无法按预期工作。

我希望此列是时间列,因此可以对其进行求和而不是“第一个”或计数。

powerbi dax powerquery powerbi-desktop
1个回答
0
投票

不要将结果格式化为 HH:MM:SS,而是尝试计算以秒为单位的总持续时间:

Adjusted Duration Total Seconds = 
VAR _hrs = QUOTIENT(Total[Average Duration Adjusted], 60)
VAR _mins = INT(Total[Average Duration Adjusted] - _hrs * 60)
VAR _sec = MOD(Total[Average Duration Adjusted], 1.0) * 60
RETURN
_hrs * 3600 + _mins * 60 + _sec

然后您可以将其转换回时间格式:

Adjusted Duration HHMMSS = 
TIME(
    QUOTIENT([Adjusted Duration Total Seconds], 3600), 
    MOD(QUOTIENT([Adjusted Duration Total Seconds], 60), 60), 
    MOD([Adjusted Duration Total Seconds], 60)
)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.