处理多个值以在 SSRS 中显示一个值
Handling Mutiple Values to display one in SSRS
我必须根据表达式显示一个值,即如果列值 =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 的值、当前表达式的结果、正在计算的值的描述,以及最后一列中上述表达式的结果
希望这对您有所帮助。如果您需要进一步的帮助,或者对此有更多疑问,请告诉我。
我必须根据表达式显示一个值,即如果列值 =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 的值、当前表达式的结果、正在计算的值的描述,以及最后一列中上述表达式的结果
希望这对您有所帮助。如果您需要进一步的帮助,或者对此有更多疑问,请告诉我。