SSRS 简单嵌套 IIF 条件?
SSRS simple nested IIF condition?
请看下面的表达式
="Active : " & IIF(Parameters!lsSSelect_Active_Type_s_.Value = "FXNULL","ALL",
iif(Parameters!lsSSelect_Active_Type_s_.Value=1,"Active",
iif(Parameters!lsSSelect_Active_Type_s_.Value=2,"Inactive","N/A")))
现在用户有 3 个选项,1、2 或 FXNULL。 1 和 2 可以正确显示 Active 和 Inactive 但是当用户 select "FXNULL" 时,它会抛出错误。
The Value expression for the textrun contains an error: Input string was not in a correct format
现在为了进行测试以确保 FXNULL
之间的比较工作正常,我尝试了以下表达式并且工作正常
="Active : " & IIF(Parameters!lsSSelect_Active_Type_s_.Value = "FXNULL","ALL","N/A")
第一个表达式有什么问题?
在您的数字支票上添加引号,它将运行没有错误
="Active : " & IIF(Parameters!lsSSelect_Active_Type_s_.Value = "FXNULL","ALL",
iif(Parameters!lsSSelect_Active_Type_s_.Value="1","Active",
iif(Parameters!lsSSelect_Active_Type_s_.Value="2","Inactive","N/A")))
发生这种情况的原因是因为 Iif 计算所有表达式并且您同时进行数字和字符串比较。
此外,我建议使用 Switch 而不是嵌套的 Iif 以使您的代码更具可读性
="Active : " &
Switch(Parameters!lsSSelect_Active_Type_s_.Value = "FXNULL","ALL",
Parameters!lsSSelect_Active_Type_s_.Value="1","Active",
Parameters!lsSSelect_Active_Type_s_.Value="2","Inactive",
True,"N/A"
)
请看下面的表达式
="Active : " & IIF(Parameters!lsSSelect_Active_Type_s_.Value = "FXNULL","ALL",
iif(Parameters!lsSSelect_Active_Type_s_.Value=1,"Active",
iif(Parameters!lsSSelect_Active_Type_s_.Value=2,"Inactive","N/A")))
现在用户有 3 个选项,1、2 或 FXNULL。 1 和 2 可以正确显示 Active 和 Inactive 但是当用户 select "FXNULL" 时,它会抛出错误。
The Value expression for the textrun contains an error: Input string was not in a correct format
现在为了进行测试以确保 FXNULL
之间的比较工作正常,我尝试了以下表达式并且工作正常
="Active : " & IIF(Parameters!lsSSelect_Active_Type_s_.Value = "FXNULL","ALL","N/A")
第一个表达式有什么问题?
在您的数字支票上添加引号,它将运行没有错误
="Active : " & IIF(Parameters!lsSSelect_Active_Type_s_.Value = "FXNULL","ALL",
iif(Parameters!lsSSelect_Active_Type_s_.Value="1","Active",
iif(Parameters!lsSSelect_Active_Type_s_.Value="2","Inactive","N/A")))
发生这种情况的原因是因为 Iif 计算所有表达式并且您同时进行数字和字符串比较。
此外,我建议使用 Switch 而不是嵌套的 Iif 以使您的代码更具可读性
="Active : " &
Switch(Parameters!lsSSelect_Active_Type_s_.Value = "FXNULL","ALL",
Parameters!lsSSelect_Active_Type_s_.Value="1","Active",
Parameters!lsSSelect_Active_Type_s_.Value="2","Inactive",
True,"N/A"
)