在SSRS表达式中忽略IF条件中的空白

时间:2014-01-03 18:52:38

标签: reporting-services ssrs-2008

iif(Fields!ABC.Value< = Fields!XYZ.Value and Fields!XYZ.Value< = Fields!PQR,“Y”,“N”)

此处ABC,XYZ和PQR是日期字段。

问题是如果任何ABC / XYZ / PQR为空,那么它总是返回N但我想如果其中任何一个为空,那么条件忽略空白并检查下一个条件

例如。如果ABC为空,那么Fields!ABC.Value< = Fields!XYZ.Value将被忽略,并且检查条件并检查并根据该值返回值。

请建议任何解决方案。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

因为只在另一个条件为真时才检查条件,所以你需要嵌套iif。再次,因为如果任何日期为空,您想要跳过条件,则需要在将它们放入iif块之前检查每个日期。

您可以尝试这样的事情

=iif(
iif(isnothing(Fields!ABC.Value) or isnothing(Fields!XYZ.Value),true,Fields!ABC.Value<=Fields!XYZ.Value) and 
iif(isnothing(Fields!XYZ.Value) or isnothing(Fields!PQR .Value),true,Fields!XYZ.Value<=Fields!PQR.Value) ,"Y","N")