我在SSRS中使用以下表达式但未给出预期结果。
=IIf(Fields!Completed_Date.Value Is Nothing,
Nothing,
IIf(First(Fields!TIMEFORMAT.Value,"dsPreferences") = True,
Format(DateAdd("n",Parameters!UTCOffset.Value,Fields!Completed_Date.Value),"MM/dd/yyyy hh:mm:ss tt"),
Format(DateAdd("n",Parameters!UTCOffset.Value,Fields!Completed_Date.Value),"MM/dd/yyyy HH:mm:ss")
)
)
它必须检查Date是否为null。如果它为null,则将字段留空。如果它不为null,则它必须根据从另一个数据集获取的时区值返回值。此表达式工作正常存在非空日期但是当存在空日期时它返回#error。
答案 0 :(得分:1)
尝试使用以下语法:
=IIf(IsNothing(Fields!Completed_Date.Value), "", <yourFalsePart>)
此语法可能无法解决您的问题,因为Completed_Date
也用于false部分。在决定使用哪个表达式之前,IIf
运算符始终会对这两个表达式进行评估:因此如果Completed_Date
为Nothing
,它将会破坏您的表达式。
尝试使用自定义函数,如下所述:SSRS expression giving error with iif condition