Powerbi Power BI在聚合经过时间hh:mm:ss后将DAX应用于列

Powerbi Power BI在聚合经过时间hh:mm:ss后将DAX应用于列,powerbi,dax,Powerbi,Dax,我一直在努力使经过的时间值按我希望的方式工作 我的数据来自MYSQL,包含开始和结束日期时间 (格式为7/27/2018 12:16:12 AM) 我使用Power Query Editor创建了一个自定义列,其中包含以下简单公式: =[TimeCompleted]-[TimeStarted] 然后,我将列中的类型更改为Duration,从而使值保持以下格式: 4.00:01:37(我理解为4天1分37秒) 这一切似乎都很好——但是,当我查看表中的值时,数量是不同的。它们显示为十进制数字(如6.

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

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

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

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

=[TimeCompleted]-[TimeStarted]

然后,我将列中的类型更改为Duration,从而使值保持以下格式:

4.00:01:37
(我理解为4天1分37秒)

这一切似乎都很好——但是,当我查看表中的值时,数量是不同的。它们显示为十进制数字(如
6.9444444

我相信它们的格式是“天”,基本上类似于
6.9444444
0.0000324

当我将这些值放入表中查看时,它可能会显示经过的时间是
0.5
(转换为12小时?)

我有一个DAX公式,可以将一个值转换为
hh:mm:ss
,但我希望在聚合数据后应用此公式

例如,我的已用时间表如下所示:

我想让它保持这样,但是设置列的格式,使其以
hh:mm:ss
的格式显示

有可能这样做吗

谢谢你的帮助

编辑:

正如我所建议的,我创建了一个度量值来计算所花费的时间,它似乎工作得很好(除了任何大于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
之前)

确定。如果您的度量值类似于
SUM(表1[运行时间])
,那么您可以向它添加一个格式化包装器

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

我只是使用自动聚合工具,将它拖到一个表中——我不知道它是否正在生成自己的公式?例如,我将一个用户列表拖到表中,用户列表就会出现。当我单击“已用时间”时,它会以该格式汇总,但我无法编辑公式本身,因为它是自动的。我可能会以某种方式添加一个自定义度量值,但它是按名称聚合它们的?我希望它能自动运行,而不必创建这些自定义列-只是担心它们对各种过滤器的响应可能我只是个白痴,但这似乎工作得很好-非常感谢!不过,这不包括几天,任何超过24小时的事情都会被忽略。有什么解决方案吗?我想出了一个解决方案——上面的帖子