我正在尝试将 SSRS 中的表达式的结果设置为在 datediff 结果为负时返回 0。我的表情是:
=DateDiff(DateInterval.Minute, Fields!Check_In_Time.Value, Fields!Date___Time.value)
这个错误并且不运行:
=Max(0,(DateDiff(DateInterval.Minute, Fields!Check_In_Time.Value, Fields!Date___Time.value)))
但有些结果是负数,我希望它在负数时返回 0。有人可以帮忙吗?
这实际上对我有用:
=IIF(DateDiff(DateInterval.Minute, Fields!Check_In_Time.Value, Fields!Date___Time.Value) <= 0, nothing, DateDiff(DateInterval.Minute, Fields!Check_In_Time.Value, Fields!Date___Time.Value))
不幸的是,SSRS 中没有执行此操作的函数。
您只需要使用 IIF 来检查它,如果 Date_Time
在
Check_In_Time
之前,则使用 0。
=IIF(Check_In_Time > Date_Time, 0, DateDiff(DateInterval.Minute, Fields!Check_In_Time.Value, Fields!Date___Time.value))