Power Bi Visual Table中未以“ hh:mm:ss”格式汇总过去24小时的持续时间总和

时间:2019-09-20 19:28:57

标签: powerbi dax

数据将在数秒内作为持续时间以整数类型出现。然后,我通过各种计算将其转换为“ hh:mm:ss”。然后,将新的“ hh:mm:ss”列设置为[Sum of measure]。当我将此度量放入表中时,总和不会超过24小时。

Sum of Return
04:50:26
05:20:44
22:54:00
14:01:07
13:29:43
18:43:46
08:47:34
09:55:51

总计02:03:11

总计应为:98:03:11 <-此总计是必需的

这些是列

Hours = INT([duration]/3600)
Minutes = INT(MOD([duration]-([Hours]*3600),3600)/60)
Seconds = roundup(mod(mod([duration]-([Hours]*3600),3600),60),0)
VAR H = if(len([Hours])=1,CONCATENATE("0",[Hours]),CONCATENATE("",[Hours]))
VAR M = IF(LEN([Minutes])=1,CONCATENATE("0",[Minutes]),CONCATENATE("",[Minutes]))
VAR S = IF(LEN([Seconds])=1,CONCATENATE("0",[Seconds]),CONCATENATE("",[Seconds]))
RETURN = CONCATENATE([VAR H],CONCATENATE(":",CONCATENATE([VAR M],CONCATENATE(":",[VAR S]))))

测量公式:

Return = SUMX('Query1',[Return])

可视化中持续时间的实际总和为98:03:11。

谢谢。

1 个答案:

答案 0 :(得分:0)

您需要将列秒数除以一天中新计算出的列中的秒数。

Hours = divide([Seconds],86400)

此后,您需要将同一计算列的列的数据类型更改为“时间”。

enter image description here

最后,您可以创建一个度量来汇总小时数

Hours_Sum = sum(Table[Hours])

并将度量的数据类型更改为 hh:mm:ss

enter image description here

就我而言,我有 16,150 秒代表 4:29:10

enter image description here

我使用的桌子是

+---------+
| Seconds |
+---------+
|     334 |
|      96 |
|    1607 |
|    1056 |
|    1355 |
|     551 |
|    1928 |
|     767 |
|     601 |
|    1214 |
|     607 |
|    1873 |
|     519 |
|     537 |
|     686 |
|     138 |
|     439 |
|    1842 |
+---------+