处理多个值以在SSRS

时间:2015-12-16 11:56:28

标签: reporting-services msbi

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

我尝试过以下代码

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

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

提前致谢...... !!

1 个答案:

答案 0 :(得分:0)

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

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

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

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

enter image description here

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