【问题标题】:Expression to find total time in minutes not working when amended to include DateDiff当修改为包含 DateDiff 时,以分钟为单位查找总时间的表达式不起作用
【发布时间】:2017-01-26 15:15:17
【问题描述】:

我的报告中有 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 as String,Length as Integer)AS STRING”的参数“Length”指定参数

当我做对后,我需要将两个表达式的答案加在一起,以得到每个客户的总时间,单位为 hh:mm

如果能提供任何帮助,我将不胜感激。我是初学者,如果我说得太详细了,我深表歉意。

【问题讨论】:

    标签: visual-studio-2008 ssrs-2008-r2 datediff


    【解决方案1】:

    尝试使用以下代码:

    =(FLOOR(Sum(DateDiff(DateInterval.Minute, Fields!ccx_startdate.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)

    【讨论】:

    • 标记为正确答案,但是你能告诉我我需要添加什么才能让 7:0 读取为 07:00(但我不希望 25 小时读取为 1:01: 00 - 就像小时数 25:00) - 只是在 tablix 单元格中进行格式化还是我需要在表达式中添加一些内容?
    • 使用相同的原始代码但添加格式条件:请尝试: =Format((FLOOR(Sum(DateDiff(DateInterval.Minute, Fields!ccx_startdate.Value, Fields!ccx_enddate.Value))/ 60)),"00") &":"& Format(FLOOR(Sum(DateDiff(DateInterval.Minute,Fields!ccx_startdate.Value,Fields!ccx_enddate.Value)))-((FLOOR(Sum(DateDiff(DateInterval.分钟, 字段!ccx_startdate.Value, 字段!ccx_enddate.Value))/60))*60),"00")
    • 注意,如果小时数超过99hrs,则只显示前两个数字
    • 因此,格式围绕现有表达式进行了包装。这很好用,而且澄清非常有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 2014-02-27
    • 1970-01-01
    • 2023-03-31
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多