在 SSRS 2008 中以 HH:MM 格式显示时间总和

Display Sum of time in HH:MM format in SSRS 2008

我有一个 table,最后一列 total_service_time HH:MM 格式从我的 SQL 查询中正确获取。

我在最后一行添加表达式 =Sum(Fields!total_service_time.Value) 以获取 HH:MM 格式的 total_service_time 的总和时出现#Error。

有什么方法可以得到最后一行 HH:MM 格式的时间总和

我对 total_service_time 值的查询:

(SELECT    CAST(total / 60 AS varchar(8)) + ':' + CAST(total % 60 AS varchar(2)) AS Expr1
 FROM (SELECT CAST(SUM(Action.[Travel Time] + Action.[Total Productive Time]) AS int) AS total) AS T) AS total_service_time

Screenshot 谢谢, 萨尔曼

您正在尝试汇总格式与 SUM 不兼容的小时和分钟,因此要添加小时和分钟,您需要使用特定的 DATETIME 函数。 试试下面的表达式 -

=Right("0" & Sum(CInt(Left(Fields!total_service_time.Value,2)), "<DataSetName>")
    + Floor(Sum(CInt(Right(Fields!total_service_time.Value,2)), "<DataSetName>") / 60),2)
  & ":" & Sum(CInt(Right(Fields!total_service_time.Value,2)), "<DataSetName>") Mod 60

我正在尝试的是从小时数中获取总数,从总分钟数中添加溢出,然后连接分钟数。 参考 -

编辑: 根据要求的新表达式 -

=SUM(Hour(Fields!total_service_time.Value)) + FLOOR(SUM(MINUTE(Fields!total_service_time.Value))/60) & ":" & SUM(MINUTE(Fields!total_service_time.Value)) Mod 60

基于已编辑查询的屏幕截图 -

编辑: 试试这个表达式 -

=Sum(CInt(MID(Fields!total_service_time.Value,1,INSTR(Fields!total_service_time.Value,":")-1)), "<DataSetName>")
    + Floor(Sum(CInt(Right(Fields!total_service_time.Value,2)), "<DataSetName>") / 60)
    & ":" & Sum(CInt(Right(Fields!total_service_time.Value,2)), "<DataSetName>") Mod 60