s-s-rS:计算字段中的表达式
Posted
技术标签:
【中文标题】s-s-rS:计算字段中的表达式【英文标题】:s-s-rS: expression in a calculated field 【发布时间】:2015-06-30 14:02:19 【问题描述】:我正在尝试在计算字段中编写一个表达式,以显示一个日期值是否大于另一个:
=(IIF(fields!date1.value>fields!date2.value,"late","on time")
当fields!date2
中有值时,这可以正常工作。
但是,如果fields!date2.value
为空,则表达式返回“准时”。我不希望它这样做,因为date1
可能是 15 年 1 月 4 日 - 如果date2
为空白,这意味着它已经过期,因此我希望计算字段显示“迟到”。
因此,如果fields!date1.value
是fields!date1.value 在今天的日期之前,那么这意味着它已经过期了)。
谁能建议如何修改表达式以适应这种情况?
【问题讨论】:
澄清一下,date1
是截止日期,不能为空,date2
是完成日期,可以为空,对吗?
是的,完全正确
【参考方案1】:
让我们专注于“准时”
这是“准时”的定义(其他一切都将被视为“迟到”):
Date2
不为空且 Date1
>= Date2
Date2
为空,Date1
>= 今天
让我们把它转换成表达式:
Not(Fields!date1.Value Is Nothing) And (Fields!date1.Value >= Fields!date2.Value
Fields!date2.Value Is Nothing And Fields!date1.Value >= Today()
这是完整的表达方式:
=Iif((Not(Fields!date2.Value Is Nothing) And (Fields!date1.Value >= Fields!date2.Value) Or (Fields!date2.Value Is Nothing And Fields!date1.Value >= Today())), "on time", "late")
【讨论】:
感谢您不厌其烦地回来:这很有帮助,我现在可以做我需要的事情:我也学到了一些东西。非常感谢。以上是关于s-s-rS:计算字段中的表达式的主要内容,如果未能解决你的问题,请参考以下文章