我必须根据表达式显示一个值,即如果列值 = 1 打印 Y,如果值 = 0 打印 N,如果值 ='' 打印 N 和值 = NULL 打印 N 到列上。
我尝试了下面的代码
=IIF(IsNothing(Fields!MyColumnName.Value),"N",IIF(Fields!MyColumnName.Value=1,"Y","N"))
但这不适用于列中的 NULL 值和空白值。
提前致谢...!!
我必须根据表达式显示一个值,即如果列值 = 1 打印 Y,如果值 = 0 打印 N,如果值 ='' 打印 N 和值 = NULL 打印 N 到列上。
我尝试了下面的代码
=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 的值、当前表达式的结果、正在评估的值的描述,然后是最后一列中上述表达式的结果
希望这会对您有所帮助。如果您需要进一步的帮助,或者对此有更多疑问,请告诉我。