2013-01-03 4 views
2

나는 내가 askimg을 많이 알면서, 나는 댈리를 배우고 있다는 것을 알고있다!SSRS 오류를 디버깅하는 방법 - "입력 문자열이 올바른 형식이 아닙니다."

enter image description here

기분을 상하게하는 표현은 다음과 같습니다

=IIf(Parameters!ResponseRange.Value = 3, Nothing, 
    IIf(Parameters!ResponseRange.Value is Nothing, Nothing, 
     Parameters!ResponseRange.Value)) 

그것은 사양입니다. 때문에이 부분의 - 매개 변수에 관해서는 Parameters!ResponseRange.Value is Nothing, Nothing,

, 여기에 그들이 어떻게 보이는지의 스크린 샷이다 - 매개 변수가 "텍스트"데이터 유형 : 점에서 IIf() 검사

enter image description here

+2

아마도이 문제로 인해 어려움에 처하게 될 것입니다.하지만 너무 많이 묻는 것에 대해 걱정하지 마십시오. 적어도 당신은 그 질문을하고 있습니다. 커뮤니티는 모든 문제를 알려줍니다. ;) – glh

답변

5

순서 표현이 이상하다. 일반적으로 "성공"또는 null이 아닌 사례를 먼저 처리하려고합니다. 또한, 하나의 IIf()에 두 가지 검사를 결합 할 수 있습니다 : 나는 Is Nothing 표현의 IsNothing() 기능을 대체

=IIf(Not IsNothing(Parameters!ResponseRange.Value) AndAlso 
    Parameters!ResponseRange.Value <> 3, Parameters!ResponseRange.Value, Nothing) 

참고. 그 외에도 표현 자체가 유효합니다. ResponseRange 매개 변수의 데이터 형식은 무엇입니까? 나는 그것이 3와의 비교를 통해 Integer이라고 추론합니다. null 일 수 있다고 표시 했습니까? Integer과 같은 원시 데이터 유형은 nullable로 설정하지 않은 경우 시도하는 것처럼 Nothing으로 설정할 수 없습니다.

Nothing 대신 0 또는 -1을 기본값으로 설정하고 쿼리에서 그 값을 처리해야 할 수 있습니다.

+0

안녕하세요 코리 - 그래서 숫자 3 여기 실제로 텍스트 값입니다 .. – Coffee

+0

고마워요 !!!! 매개 변수의 스크린 샷을 추가하겠습니다. – Coffee

+1

3이 텍스트 값인 경우 매개 변수를 '3'이 아닌''3 "'(따옴표 포함)과 비교하십시오. –

관련 문제