SSRS平均时间以分钟为单位然后格式化为HH MM

SSRS Average Time in Minutes and then Format to HH MM

我见过很多关于 SSRS 平均时间的问题,但我对此很陌生,none 这些问题解决了我的特定需求,因此我们将不胜感激。

我有一个持续时间字段 (Fields!Duration1.Value),它以分钟为单位计算持续时间(例如:170)。在我的存储过程中,我将其转换为 HH MM,如下所示:

CONVERT(VARCHAR(5),DATEADD(minute, test.Duration,0) ,114) AS Duration1

这非常有用,我正在我的 SSRS 报告中使用它。不幸的是,我还需要平均持续时间。因此,我在存储过程中将原始字段 test.Duration 作为额外的 SELECT 放入。该报告被设置为一个矩阵,因此它是我想要显示平均值的 "total" 行。

所以我很确定我需要先:

=Avg(Fields!test.Duration.Value)

有效(但有一个可笑的十进制值),但我如何将该值格式化回 HH:MM???我确信我可以在我的存储过程中做到这一点,但我对如何在那里做到这一点不太肯定:欢迎任何帮助!

谢谢

您可以将自己的格式化功能添加到报告代码部分:

Public Function MinsToHHMM (ByVal Minutes As Decimal)
  Dim HourString = Floor(Minutes/60).ToString() 
  Dim MinString = Floor(Minutes Mod 60).ToString()
  Return HourString.PadLeft(2, "0") & ":" & MinString.PadLeft(2, "0")
End Function 

然后在单元格表达式中这样调用它:

=Code.MinsToHHMM(Avg(Fields!test.Duration.Value))