Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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
Sql SSRS平均时间(分钟),然后格式化为HH MM_Sql_Stored Procedures_Reporting Services_Formatting - Fatal编程技术网

Sql SSRS平均时间(分钟),然后格式化为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报告中使用它。不幸的

我在SSRS中看到了很多关于平均时间的问题,但我对这一点非常陌生,这些问题都没有解决我的具体需求,因此,如果有任何帮助,我将不胜感激

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

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))

您希望如何显示分数分钟?你会有那些在平均水平。或者你只是想舍弃或舍入分数?这就像一个符咒。复制/粘贴并验证它是否正确地拉入了所有内容。我不知道报告代码部分,感谢您提醒我注意它!这将在未来产生巨大的帮助。