我试图在计算字段中写一个表达式,显示一个日期值是否大于另一个:
=(IIF(fields!date1.value>fields!date2.value,"late","on time")
当fields!date2
中有值时,此方法可以正常工作。
但是,如果fields!date2.value
为空,则表达式返回"准时"。我不希望它这样做,因为date1
可能是1/4/15 - 如果date2
是空白的,那就意味着它已经过期了我因此希望计算字段说"迟到"。
因此,我希望表达式能够说"迟到"如果fields!date1.value
是<今天的日期(基本上,如果它是空白的,而fields!date1.value
是在今天的日期之前,那么就意味着它已经过期了。)
有人可以建议如何修改表达式以适应这种情况吗?
答案 0 :(得分: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")