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))
我见过很多关于 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))