我的报告中有2个tablix。我需要找出以小时和分钟为单位的总时间,忽略任何一天的计数。在约会tablix中我使用表达式
=FLOOR(Sum(Fields!actualdurationminutes.Value) / 60) & ":" & RIGHT("0" & (Sum(Fields!actualdurationminutes.Value)
MOD 60), 2)
- acutaldurationminutes是一个整数字段,由字段后面的代码自动填充,从开始和结束时间开始计算。
我想在事件tablix中做同样的事情,但我需要的列总和是由2个日期时间值而不是单个值之间的时间差组成。我试图将DATEDIFF添加到上面的表达式中以获得单个时间值,但它给出了一个错误:
=FLOOR(Sum(DateDiff(DateInterval.Minute,Fields!ccx_startdate.Value,Fields!ccx_enddate.Value))/60)&":"& RIGHT("0"&(Sum(DATEDIFF(DateInterval.Minute, Fields!ccx_startdate.Value,Fields!ccx_enddate.Value))MOD 60),2)
我花了很多时间试图找到解决方案并使用它来帮助表达式的DateDiff部分: https://stackoverflow.com/questions/20084113/time-difference-between-datetime-fields-ssrs - help to find how to use datediff in expression 然而,似乎还有一些不太正确的事情。我收到错误'没有为参数'长度'指定参数'公共函数RIGHT(str为String,Length as Integer)AS STRING'
当我做到这一点时,我将需要将两个表达式的答案加在一起,以获得每个客户的总时间,以hh:mm
如果有任何帮助,我将不胜感激。我是学习者,所以如果我太详细,我会道歉。
答案 0 :(得分:0)
尝试使用以下代码:
=(FLOOR(Sum(DateDiff(DateInterval.Minute,Fields!ccx_startdate.Value,Fields!ccx_enddate.Value))/ 60))&":"& FLOOR(Sum(DateDiff(DateInterval.Minute,Fields!ccx_startdate.Value,Fields!ccx_enddate.Value)) - ((FLOOR(Sum(DateDiff(DateInterval.Minute,Fields!ccx_startdate.Value,Fields!ccx_enddate.Value)) / 60))* 60)