报告服务-SSRS:计算字段中的表达式



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

=(IIF(fields!date1.value>fields!date2.value,"late","on time")

fields!date2中有一个值时,此操作效果良好。

但是,如果fields!date2.value为空,则表达式将返回"on time"。我不希望它这样做,因为date1可能是1/4/15——如果date2为空,那意味着它已经过期了,因此我希望计算字段显示"late"。

因此,如果fields!date1.value是<今天的日期(基本上,如果它是空的,并且fields!date1.value在今天的日期之前,则意味着它过期了)。

有人能就如何修改该表述以适应这一点提出建议吗?

让我们关注"准时"

以下是"准时"的定义(其他一切都将被视为"迟到"):

  • 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")

相关内容

  • 没有找到相关文章

最新更新