SSRS:计算字段中的表达式
SSRS: expression in a calculated field
我正在尝试在计算字段中编写一个表达式,以显示一个日期值是否大于另一个日期值:
=(IIF(fields!date1.value>fields!date2.value,"late","on time")
当 fields!date2
.
中有一个值时,这工作正常
但是,如果fields!date2.value
为空,表达式returns "on time"。我不希望它这样做,因为 date1
可能是 1/4/15 - 如果 date2
为空,这意味着它已经过期了,因此我希望计算字段说 "late".
Therefore I want the expression to say "late" if fields!date1.value
is < today's date (基本上,如果它是空白的并且 fields!date1.value
在今天的日期之前,那么这意味着它已经过期了) .
谁能建议如何修改表达式以适应这种情况?
让我们关注"on time"
这是定义 "on time" 的内容(其他所有内容都将被视为 "late"):
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")
我正在尝试在计算字段中编写一个表达式,以显示一个日期值是否大于另一个日期值:
=(IIF(fields!date1.value>fields!date2.value,"late","on time")
当 fields!date2
.
但是,如果fields!date2.value
为空,表达式returns "on time"。我不希望它这样做,因为 date1
可能是 1/4/15 - 如果 date2
为空,这意味着它已经过期了,因此我希望计算字段说 "late".
Therefore I want the expression to say "late" if fields!date1.value
is < today's date (基本上,如果它是空白的并且 fields!date1.value
在今天的日期之前,那么这意味着它已经过期了) .
谁能建议如何修改表达式以适应这种情况?
让我们关注"on time"
这是定义 "on time" 的内容(其他所有内容都将被视为 "late"):
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")