首页 > 解决方案 > Power Query 中超过 24 小时的时间字段求和

问题描述

我有一个链接到另一个文件的 Excel 中的 Power Query。该文件有一个时间列。我知道 M 语言在没有一些工作的情况下不会自动超过 24 小时,因为它使用日期时间参考,因此如果我导入 25 小时的时间,它会恢复 2 小时到 1 小时......

在我下图中的第三列中,使用第二行作为参考,这实际上应该是 47:47:38。如何获取值高于 24 小时的实例以显示真实小时数?

我尝试使用 duration.hours(#hours()) 这也由于某种原因不起作用。

源excel文件中的相同数据也在下面

在此处输入图像描述

在此处输入图像描述

标签: excelpowerbipowerquery

解决方案


Power Query 没有用于显示数据的自定义格式。如果您将数据作为 Duration 而不是 DateTime 读取,它将显示为 [d].hh.mm.ss 格式,但仍不显示总小时数。最终,尽管这并不重要,因为即使您的数据被格式化为在 Excel 中显示总小时数,它实际上在内部存储为天+小时+分钟+秒。因此,它在 Power Query 中的显示方式并不重要,因为您可以在将数据输出到的任何位置使用小时格式。

现在,如果您需要使用小时数来计算不是另一个持续时间的东西,您可以通过执行提取小时数

Duration.Days([Your Hours]) * 24 + Duration.Hours([Your Hours])

或者现在我看了一下,还有一个 TotalHours 函数,它可以为您提供小时数加上 mm:ss 作为它的一小部分

Duration.TotalHours([Your Hours])

推荐阅读