当前报告表达式以天:小时:分钟:秒为单位显示数据
=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))
我试图让它显示总时数:分钟:秒。
到目前为止,我只能使用以下表达式获得分钟:秒;
=cstr(floor((sum(Fields!phoneInOutbound.Value) / 60))) & " : " &
cstr(floor(((sum(Fields!phoneInOutbound.Value) Mod 60))))
有什么主意如何重新配置,这样我可以获得总时数:分钟:秒?
答案 0 :(得分:0)
如果我是你,我会在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
答案 1 :(得分:0)
好的,基本上,您需要添加第一条语句(原为几天的位置)和第二条语句(原为小时的位置)。您可以更改第一个语句以获取天数比天数* 24来将天数恢复为THAN + 2nd语句的小时数。可能有一种更简单的方法,即不确定数据集的外观,甚至不确定从中读取的数据库。只是想让您朝正确的方向思考。