Time SQL Server Reporting Services将小时格式为小时:分钟
我正在SQL Server Reporting Server上编写报告,报告中的小时数按(比如)用户分组,总小时数根据值的总和计算 目前,我的查询运行一个存储过程,它以HH:MM格式返回小时数,而不是十进制小时数,因为我们的用户发现这更直观。当我尝试使用SSRS表达式对列进行累加时,就会出现问题,因为SUM函数不够智能,无法处理这种格式的累加时间 有没有办法:Time SQL Server Reporting Services将小时格式为小时:分钟,time,format,ssrs-2008,Time,Format,Ssrs 2008,我正在SQL Server Reporting Server上编写报告,报告中的小时数按(比如)用户分组,总小时数根据值的总和计算 目前,我的查询运行一个存储过程,它以HH:MM格式返回小时数,而不是十进制小时数,因为我们的用户发现这更直观。当我尝试使用SSRS表达式对列进行累加时,就会出现问题,因为SUM函数不够智能,无法处理这种格式的累加时间 有没有办法: 以HH:MM格式显示时间间隔(以分钟或小时为单位),同时以十进制形式计算时间间隔 或者拆分并计算HH:MM文本值的总和,以得到表达式形式
TimeSpent
表示)李>
=FLOOR(Fields!TimeSpent.Value/60)和“&RIGHT(“0”和(Fields!TimeSpent.Value MOD 60),2)
=FLOOR(sum(Fields!TimeSpent.Value)/60)&“&RIGHT(“0”&(sum(Fields!TimeSpent.Value)MOD 60),2)
您也可以尝试将此函数放入报表的自定义代码中
Function secondsToString(seconds As int64) As String
Dim myTS As New TimeSpan(seconds * 10000000)
Return String.Format("{0:00}:{1:00}:{2:00}",myTS.Hours, myTS.Minutes, myTS.Seconds)
End Function
我的SP通常以秒为单位返回时间,如果我必须在多个位置返回HH:MM:SS,这使我不必太费劲地思考。另外,您可以正常地进行所有聚合,并将它们包装成一个漂亮的格式
我不能相信这一点,因为我知道我不久前在网上偶然发现了它,但我记不起它在哪里。所以在您的情况下,它是分钟,所以您需要将它转换为秒,您可以尝试使用以下代码: =格式(DateAdd(“s”),(Parameters!ReportParameter1.Value*60),“00:00:00”),“HH:mm:ss”) 希望这有帮助