Sql SSRS平均时间(分钟),然后格式化为HH MM
我在SSRS中看到了很多关于平均时间的问题,但我对这一点非常陌生,这些问题都没有解决我的具体需求,因此,如果有任何帮助,我将不胜感激 我有一个持续时间字段(Fields!Duration1.Value),它以分钟为单位拉入持续时间(例如:170)。在我的存储过程中,我将其转换为HH-MM,如下所示:Sql SSRS平均时间(分钟),然后格式化为HH MM,sql,stored-procedures,reporting-services,formatting,Sql,Stored Procedures,Reporting Services,Formatting,我在SSRS中看到了很多关于平均时间的问题,但我对这一点非常陌生,这些问题都没有解决我的具体需求,因此,如果有任何帮助,我将不胜感激 我有一个持续时间字段(Fields!Duration1.Value),它以分钟为单位拉入持续时间(例如:170)。在我的存储过程中,我将其转换为HH-MM,如下所示: CONVERT(VARCHAR(5),DATEADD(minute, test.Duration,0) ,114) AS Duration1 这就像一个符咒,我正在我的SSRS报告中使用它。不幸的
CONVERT(VARCHAR(5),DATEADD(minute, test.Duration,0) ,114) AS Duration1
这就像一个符咒,我正在我的SSRS报告中使用它。不幸的是,我还需要得到一个平均持续时间。所以我把原始的fieldtest.Duration作为存储过程中的额外选择。报告设置为矩阵,因此它是“总计”行,我希望在其中显示平均值
所以我很确定我首先需要:
=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))
您希望如何显示分数分钟?你会有那些在平均水平。或者你只是想舍弃或舍入分数?这就像一个符咒。复制/粘贴并验证它是否正确地拉入了所有内容。我不知道报告代码部分,感谢您提醒我注意它!这将在未来产生巨大的帮助。