Power BI将DAX应用于列,之后经过合计时间hh:mm:ss

时间:2018-10-16 18:52:54

标签: powerbi dax

我一直在努力使“经过的时间”值按我希望的方式工作。

我的数据来自MYSQL,并且包含开始和结束日期时间

(格式为7/27/2018 12:16:12 AM

我使用Power Query Editor创建了一个包含以下简单公式的自定义列:

=[TimeCompleted]-[TimeStarted]

然后我将列中的类型更改为Duration,使值保持这种格式:

4.00:01:37(据我了解,翻译为4天1分37秒)

一切似乎都很好-但是,当我查看表格中的值时,金额却不同。它们显示为十进制数字(例如6.9444444

我相信它们的格式是“天”,基本上就像6.94444440.0000324

当我将这些值放在表格中查看时,它可能表明经过的时间为0.5(等于12个小时?)

我有一个DAX公式,可以将值转换为hh:mm:ss,但是我想在汇总数据后应用

例如,我的“经过时间”表如下所示:

ElapsedTime

我想这样保留它,但为了显示目的,请将该列设置为hh:mm:ss格式。

可以这样做吗?

感谢您的帮助。

编辑:

按照建议,我创建了一个对ElapsedTime进行求和的度量,它似乎工作得很好(除了超过24小时的所有东西都可以环绕)。

我所采取的解决方案是,如果一天以上,则将小时数添加到自己的开头:

ElapsedTimeHMS = 
IF(
    SUM('checklists allqachecklists'[ElapsedTime]) >= 1,
    INT(SUM('checklists allqachecklists'[ElapsedTime]))*24 + INT(FORMAT(SUM('checklists allqachecklists'[ElapsedTime]),"hh")) & ":" & 
    FORMAT(SUM('checklists allqachecklists'[ElapsedTime]), "mm:ss"),
    FORMAT(SUM('checklists allqachecklists'[ElapsedTime]), "hh:mm:ss"
)

1.07的结果变为25:12:45(之前是01:12:45

1 个答案:

答案 0 :(得分:1)

好的。如果您的度量类似于SUM(Table1[Elapsed Time]),则只需向其添加格式包装。

Formatted Measure = FORMAT(SUM(Table1[Elapsed Time]), "hh:mm:ss")