使用Power BI Desktop,如何在将持续时间转换为十进制的矩阵中显示持续时间?

问题描述 投票:0回答:2

我在数据文件(Excel)中有开始日期和结束日期,然后在PowerQuery中添加一列,我只需从结束日期中减去开始日期即可创建新列“导入时间”,将结果的数据类型更改为持续时间,在PowerQuery中,该列正确显示以Day:Hour:Minute:Seconds表示的差异。但是,在报告中,我需要不显示整个列的平均值,而是显示基于整个表的矩阵中值组的平均值。换句话说,我正在寻找一个显示“类别名称”,“平均”列的表。持续时间和最大持续时间,其中的行显示了每个唯一类别的结果。

问题是,当我将表字段拖到“可视化值”区域中并更改为“平均值”时,它将结果表示为小数,而我不知道如何显示等效的日期/时间。我以为可能要乘以3600,因为结果可能会以毫秒为单位显示,但这没有用。有什么想法吗?

time powerbi report
2个回答
0
投票

因此,我认为Power BI可能不是问题所在,而是Microsoft如何表达日期/时间计算问题。我编辑了包含源数据的Excel文件,并通过从结束时间中减去开始时间来计算“导入时间”。默认情况下,它以“ hh:mm:ss.0000”的日期/时间格式显示。然后,我问Google,并得到一个简单的解释:要以数字格式表示日期/时间,您需要将日期/时间乘以24(小时),60(分钟)和60(秒)。表达结果。然后,我创建了一个数据透视表,汇总了导入时间的平均值,并在Power BI报表中看到了与我单击相同的内容。

为了解决该问题,我编辑了Power Query步骤以计算导入时间,并在公式中添加了“ * 24 * 60 * 60”。更新报告后,结果与我在Excel中看到的结果相符,很好。希望这可以帮助其他人解决这个令人烦恼的问题。


0
投票

您将平均度量包装在FORMAT函数中,以将其精确转换为要在矩阵中显示的文本格式。例如,假设您的原始输出为

Group  AvgDuration
------------------
 A      0.0633
 B      0.2733
 C      0.0600

这些数字以天为单位,因此您可以这样转换为小时,分钟或秒,例如:

FORMAT ( [AvgDuration] * 24, "0.00h" )
FORMAT ( [AvgDuration] * 24 * 60, "#,0m" )
FORMAT ( [AvgDuration] * 24,* 60 * 60, "#,0s" )
FORMAT ( [AvgDuration], "hh:mm:ss" )

(([AvgDuration]是用于计算平均值的度量)

后两个应该看起来像这样:

Group  AvgDuration
------------------
 A      5,472s
 B      23,616s
 C      5,184s

Group  AvgDuration
------------------
 A      01:31:12
 B      06:33:36
 C      01:26:24
© www.soinside.com 2019 - 2024. All rights reserved.