SSRS技术求助:统计通话时长小于10秒的呼叫总数
解决SSRS统计通话时长小于10秒呼叫总数的问题
你的表达式存在逻辑漏洞:仅提取了时间的秒部分进行判断,完全忽略了分钟、小时部分。例如通话时长为00:01:05(实际65秒)时,DatePart("s")会返回5,错误被统计进结果,导致数据不准确。
以下是两种正确的表达式写法:
方法一:用DateDiff计算总秒数
=SUM(IIF(DateDiff("s", CDate("00:00:00"), Fields!call_dur.Value) < 10, 1, 0))
方法二:手动计算总秒数
=SUM(IIF( (Hour(Fields!call_dur.Value) * 3600) + (Minute(Fields!call_dur.Value) * 60) + Second(Fields!call_dur.Value) < 10, 1, 0 ))
注意事项
如果call_dur字段是字符串类型,需要先转换为日期时间格式:
=SUM(IIF(DateDiff("s", CDate("00:00:00"), CDate(Fields!call_dur.Value)) < 10, 1, 0))
内容的提问来源于stack exchange,提问作者HMVB
相关产品推荐
相关产品推荐

