因此,我通过 PowerQuery 导入了这组数据,并将其加载到我的 Excel 工作簿的数据模型中。为了减少查询加载时间,我决定将大部分转换转移到数据模型而不是查询编辑器。现在,我有一个名为 [Internal Time] 的字段,它存储两个时间戳之间的持续时间(以小时为单位)。我想找到一种方法将它们成功转换为 HH:mm:ss 格式的时间值。
正如您在下表中看到的,一些转换是正确的,而另一些则相差甚远
内部时间 | 内部时间(持续时间) |
---|---|
47.7 | 23:42:00 |
8.2 | 8:12:00 |
我使用的解决方案基本上就是将第 1 列除以 24。
完整公式如下。有很多条件,但只要满足其中任何一个,该值就会除以 24。
=(IF([Create Time]>[Finish Time], [Create Time]-[Finish Time],
IF(AND([Internal Time]>0, [Internal Time]-[Weekends] >0), [Internal Time]-'Raw Data'[Weekends],
IF(AND([Internal Time]>0, [Internal Time]-[Weekends] <=0), [Internal Time],
IF(AND([Internal Time]<0, [Actual Duration] >0), [Actual Duration],
IF([Internal Time]=0, [Finish Time] - [Create Time]))))))/24
这更像是一种解决方法。
注意: 这只有效到 31 天,如果有更多此计数器将重新启动。
它基于每月第一天的日期格式,在下面的示例中为 1/1/2000,并添加您的度量 [内部时间]。然后,您可以通过显示天、小时、分钟和秒来使用它。
yourMeasure =
VAR DateHelper = DATE(2000,1,1)
Return
DateHelper +
DATE(
YEAR([Internal Time]/24),
MONTH([Internal Time]/24),
DAY([Internal Time]/24)
)+
TIME(
HOUR([Internal Time]/24),
MINUTE([Internal Time]/24),
SECOND([Internal Time]/24)
)
将此度量添加到表格/矩阵后,请确保将格式更改为“d hh:mm:ss”