0

我必须根据表达式显示一个值,即如果列值 = 1 打印 Y,如果值 = 0 打印 N,如果值 ='' 打印 N 和值 = NULL 打印 N 到列上。

我尝试了下面的代码

=IIF(IsNothing(Fields!MyColumnName.Value),"N",IIF(Fields!MyColumnName.Value=1,"Y","N"))

但这不适用于列中的 NULL 值和空白值。

提前致谢...!!

4

1 回答 1

0

您的问题来自这样一个事实,即 SSRS 在执行表达式之前会评估表达式的所有潜在路径。因此,当它尝试与''整数进行比较1时失败,报告#Error

为了防止这种情况,您可以将字段包装在 CStr(转换为字符串)中,给出表达式

=IIF(IsNothing(Fields!MyColumnName.Value),
     "N",
     IIF(CStr(Fields!MyColumnName.Value)=CStr(1),
         "Y",
         "N"
     )
 )

下面的示例显示了 myColumnName 的值、当前表达式的结果、正在评估的值的描述,然后是最后一列中上述表达式的结果

在此处输入图像描述

希望这会对您有所帮助。如果您需要进一步的帮助,或者对此有更多疑问,请告诉我。

于 2015-12-16T14:17:57.827 回答