我必须基于表达式显示一个值,即如果列值= 1打印Y,如果值= 0打印N如果值=''打印N和值= NULL打印N在列上。处理多个值以在SSRS中显示一个值
我尝试下面的代码
=IIF(IsNothing(Fields!MyColumnName.Value),"N",IIF(Fields!MyColumnName.Value=1,"Y","N"))
但这不是工作在列中的NULL值和空值。
在此先感谢... !!
我必须基于表达式显示一个值,即如果列值= 1打印Y,如果值= 0打印N如果值=''打印N和值= NULL打印N在列上。处理多个值以在SSRS中显示一个值
我尝试下面的代码
=IIF(IsNothing(Fields!MyColumnName.Value),"N",IIF(Fields!MyColumnName.Value=1,"Y","N"))
但这不是工作在列中的NULL值和空值。
在此先感谢... !!
您的问题来自SSRS在执行之前评估表达式的所有可能路径的事实。因此,当它试图比较''
的整数1
失败,报告#Error
为了防止这一点,你可以换你的领域在CSTR(转换为字符串),给人的表达
=IIF(IsNothing(Fields!MyColumnName.Value),
"N",
IIF(CStr(Fields!MyColumnName.Value)=CStr(1),
"Y",
"N"
)
)
下面的示例示出了用于myColumnName的值,与当前的表达的结果,其评估值的描述,然后在最后一列
上述表达式的结果希望这会帮助你。如果您需要进一步帮助,或者对此有更多疑问,请告知我们。
是的它可以工作。感谢Jonnus。 – user2728106
什么是你的数据集返回,字符串或整数?你能分享一个示例数据集,因为我无法重新创建问题 - 上面的表达式适用于整数(和空值) – Jonnus
它返回整数,我的列返回值0,1,但在某些情况下,列为空。对于值1,我希望显示“Y”为0“N”,对于NULL或空白我想显示“N” – user2728106
为什么它“无效”为null或空白。它在做什么呢? – Jonnus