2017-09-06 12 views
0

이제 사용자가 3 개 가지 옵션, 1, 2 또는 FXNULL이 아래 표현SSRS 간단한 중첩 IIF 조건?

="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"))) 

에서 참조하시기 바랍니다. 1과 2는 Active와 Inactive를 올바르게 표시 할 수 있지만 사용자가 "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") 

미세 아래의 표현과 작업을 시도?

+0

읽을 같은 매개 변수를 문자열로와 숫자로 비교되어 있는지 확인하는 대신 중첩 된 IIF의 스위치의 사용을 제안? 매개 변수의 유형은 무엇입니까? – niktrs

답변

2

는 숫자 수표에 따옴표를 추가하고 IIF 모든 식을 계산하기 때문에 오류가

="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"))) 

은이 일어나는 이유없이 실행됩니다 그리고 당신은 모두 숫자 및 문자열 비교가 있습니다.

또한 난 당신의 코드가 더

="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" 
)