SSRS:计算字段中的表达式

时间:2015-06-30 14:02:20

标签: reporting-services ssrs-2008-r2 calculated-field ssrs-expression

我试图在计算字段中写一个表达式,显示一个日期值是否大于另一个:

=(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是在今天的日期之前,那么就意味着它已经过期了。)

有人可以建议如何修改表达式以适应这种情况吗?

1 个答案:

答案 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")