在 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
我有一个 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