Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Time 使用Power BI Desktop,如何在矩阵中表示时间持续时间,并将其转换为十进制?_Time_Powerbi_Report - Fatal编程技术网

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

Time 使用Power BI Desktop,如何在矩阵中表示时间持续时间,并将其转换为十进制?,time,powerbi,report,Time,Powerbi,Report,我在数据文件(Excel)中有开始日期和结束日期,然后在PowerQuery中添加一列,我只需从结束日期中减去开始日期即可创建一个新列“导入时间”,将结果的数据类型更改为持续时间,在PowerQuery中,该列正确显示以天:小时:分钟:秒表示的差异。但是,在报告中,我需要显示的不是整个列的平均值,而是基于整个表的矩阵中的值组的平均值。换句话说,我正在寻找一个表,该表显示类别名称、平均持续时间和最大持续时间的列,其中的行显示每个唯一类别的结果 问题是,当我将一个表字段拖到Visualization

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


问题是,当我将一个表字段拖到Visualizations值区域并更改为Average时,它将结果表示为十进制,而我不知道如何显示等效的日期/时间。我想我可能必须乘以3600,因为结果可能以毫秒为单位显示,但这不起作用。有什么想法吗?

所以我从理论上推测,问题可能不在于Power BI,而在于Microsoft如何表示日期/时间计算。我编辑了包含源数据的Excel文件,并通过从结束时间减去开始时间来计算“导入时间”。默认情况下,它以“hh:mm:ss.0000”的日期/时间格式显示。然后我问了谷歌,发现了一个简单的解释:要用数字格式表示日期/时间,需要将日期/时间乘以24(小时)、60(分钟)和60(秒),如果你想这样表示结果的话。然后,我创建了一个数据透视表,总结了导入时间的平均值,并在我的Power BI报告中看到了相同的情况,即当它为我单击时


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

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


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

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

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


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


在“列工具”功能区选项卡中调整数据类型和/或格式是否无效?不,没有那么简单。在Power Query中,我通过计算结束时间和开始时间之间的差异创建的“导入时间”字段被格式化为持续时间或日期/时间格式。当我在报告中总结导入时间字段中的信息时(在本例中,为了计算平均值),它显示为十进制,我找不到任何地方可以将其显示为日期/时间格式。这正是问题所在。调整列工具功能区选项卡中的数据类型和/或格式是否无效?不,没有那么简单。在Power Query中,我通过计算结束时间和开始时间之间的差异创建的“导入时间”字段被格式化为持续时间或日期/时间格式。当我在报告中总结导入时间字段中的信息时(在本例中,为了计算平均值),它显示为十进制,我找不到任何地方可以将其显示为日期/时间格式。这正是问题所在。