我必须根据表达式显示一个值,即如果列值= 1则打印Y,如果值= 0则打印N如果值='' print N和value = NULL将N打印到列上。
我尝试过以下代码
=IIF(IsNothing(Fields!MyColumnName.Value),"N",IIF(Fields!MyColumnName.Value=1,"Y","N"))
但这不适用于列中的NULL值和空白值。
提前致谢...... !!
答案 0 :(得分:0)
您的问题来自于SSRS在执行表达式之前评估表达式的所有潜在路径。因此,当它尝试将''
与整数1
进行比较时,它会失败,报告#Error
为了防止这种情况,您可以将字段包装在CStr(转换为字符串)中,并提供表达式
=IIF(IsNothing(Fields!MyColumnName.Value),
"N",
IIF(CStr(Fields!MyColumnName.Value)=CStr(1),
"Y",
"N"
)
)
下面的示例显示了myColumnName的值,当前表达式的结果,它正在评估的值的描述,以及最后一列中上述表达式的结果
希望这会对你有所帮助。如果您需要进一步的帮助,或者对此有更多疑问,请与我们联系。