SSRS 将总分钟数格式化为总分钟数 HH:MM:SS
SSRS format total minutes into total HH:MM:SS
当前报表表达式呈现Days:Hours:Minutes:Seconds
中的数据
=cstr(floor((sum(Fields!phoneInOutbound.Value) / 86400))) & " days " &
cstr(floor(((sum(Fields!phoneInOutbound.Value) Mod 86400) / 3600))) & ":" &
cstr(floor((((sum(Fields!phoneInOutbound.Value) Mod 86400) Mod 3600) / 60))) & ":" &
cstr(floor(((sum(Fields!phoneInOutbound.Value) Mod 86400) Mod 3600) Mod 60))
我正在尝试让它显示总数 Hours:Minutes:Seconds。
到目前为止,我只能使用以下表达式获得 minutes:seconds;
=cstr(floor((sum(Fields!phoneInOutbound.Value) / 60))) & " : " &
cstr(floor(((sum(Fields!phoneInOutbound.Value) Mod 60))))
知道如何重新配置以便获得总时数吗:minutes:seconds?
如果我是你,我会在 sql 端处理它,只使用 ssrs 作为保存数据的地方。您可以根据需要使它变得简单或复杂。当我的意思是复杂时,我的意思是您从提交的会议记录中获取数据,然后向其中添加 "min" + 秒值 + "sec"。通过将整个事物包装在另一个命名查询中并创建一个计算字段。个人不太喜欢利用 SSRS 进行计算,因为您正在使用报表服务器的内存来执行此操作(应该用于报告而不是处理计算),但是如果这种方法对您来说很容易,那么您将拥有更多功能。下面是在 SQL 端处理此问题的示例代码。
create table #temp_time_test (
phoneInOutbound_IN datetime
,phoneInOutbound_OUT datetime
)
insert into #temp_time_test values
('11/06/2018 12:24:13.790','11/06/2018 12:34:13.790')
select DATEDIFF(MINUTE,phoneInOutbound_IN,phoneInOutbound_OUT) from #temp_time_test
好的,所以您基本上需要添加第一个语句(最初是几天)加上第二个语句(最初是几个小时)。您可以更改第一个语句以获取天数而不是天数 * 24 以将天数返回到小时数 THAN + 第二个语句。可能有一种更简单的方法,不确定您的数据集是什么样的,甚至不确定您从哪个数据库读取。只是想让您朝着正确的方向思考。
当前报表表达式呈现Days:Hours:Minutes:Seconds
中的数据=cstr(floor((sum(Fields!phoneInOutbound.Value) / 86400))) & " days " &
cstr(floor(((sum(Fields!phoneInOutbound.Value) Mod 86400) / 3600))) & ":" &
cstr(floor((((sum(Fields!phoneInOutbound.Value) Mod 86400) Mod 3600) / 60))) & ":" &
cstr(floor(((sum(Fields!phoneInOutbound.Value) Mod 86400) Mod 3600) Mod 60))
我正在尝试让它显示总数 Hours:Minutes:Seconds。
到目前为止,我只能使用以下表达式获得 minutes:seconds;
=cstr(floor((sum(Fields!phoneInOutbound.Value) / 60))) & " : " &
cstr(floor(((sum(Fields!phoneInOutbound.Value) Mod 60))))
知道如何重新配置以便获得总时数吗:minutes:seconds?
如果我是你,我会在 sql 端处理它,只使用 ssrs 作为保存数据的地方。您可以根据需要使它变得简单或复杂。当我的意思是复杂时,我的意思是您从提交的会议记录中获取数据,然后向其中添加 "min" + 秒值 + "sec"。通过将整个事物包装在另一个命名查询中并创建一个计算字段。个人不太喜欢利用 SSRS 进行计算,因为您正在使用报表服务器的内存来执行此操作(应该用于报告而不是处理计算),但是如果这种方法对您来说很容易,那么您将拥有更多功能。下面是在 SQL 端处理此问题的示例代码。
create table #temp_time_test (
phoneInOutbound_IN datetime
,phoneInOutbound_OUT datetime
)
insert into #temp_time_test values
('11/06/2018 12:24:13.790','11/06/2018 12:34:13.790')
select DATEDIFF(MINUTE,phoneInOutbound_IN,phoneInOutbound_OUT) from #temp_time_test
好的,所以您基本上需要添加第一个语句(最初是几天)加上第二个语句(最初是几个小时)。您可以更改第一个语句以获取天数而不是天数 * 24 以将天数返回到小时数 THAN + 第二个语句。可能有一种更简单的方法,不确定您的数据集是什么样的,甚至不确定您从哪个数据库读取。只是想让您朝着正确的方向思考。