SSRS的IIF和日期逻辑和格式

时间:2013-01-04 16:56:25

标签: sql-server visual-studio-2010 reporting-services

我有以下代码

=IIF(Month(Fields!effectivedate.Value) <> Month(Now()), Now(), Fields!effectdate.Value)

在此代码中,我会检查Fields!effectivedate.Value是否是当前月份。

  • 如果是当月,则会显示Fields!effectivedate.Value
  • 如果不是当前月份,则显示当前日期。

除了执行此检查外,我还想检查另一个值fields!Freeze.Value

以下是它在VB.NET代码中的外观

If fields!Freeze.Value = true
     Fields!effectdate.Value
else
     IIF(Month(Fields!effectivedate.Value) <> Month(Now()), Now(), Fields!effectdate.Value)
end if

我如何用SSRS代码写这个?

如果我没有正确解释,请询问进一步的说明。

2 个答案:

答案 0 :(得分:1)

嵌套IIfs:

=IIf(Fields!Freeze.Value, Fields!effectdate.Value, IIF(Month(Fields!effectivedate.Value) <> Month(Now()), Now(), Fields!effectdate.Value))

答案 1 :(得分:0)

您需要使用@lc启动的嵌套IIf函数。但是,您需要在Freeze字段中更清楚地查看要检查的内容。

例如,您可以使用IsNothing()功能检查空白,或者可能需要查看是否Fields!Freeze.Value = 1