2013-04-15 4 views
2

기본 테이블이 설정된 RS 보고서가 있습니다. 사용자 지정 값을 선택하면 특정 열을 숨기도록 설정했습니다. 파라미터과 같이 설정됩니다SSRS 사용자 정의 가시성 매개 변수 - 다중 선택 오류

Label  | Value 
Select All | 1 
Select 1 | 2 
Select 2 | 3 
Select 3 | 4 

그런 다음 테이블 릭스 열 가시성의 설정하려면 :

=Parameters!Client.Value <> 1 

내가 이상적으로 그것이 내가 얻을 그러나 매개 변수 값 중 하나 이상을 선택 설정할 그러나 :

The Hidden expression for the table 'tablix' contains an error: operator <> is not defined for the type Object() and type integer .

아이디어가 있으십니까?

답변

0

매개 변수 값을 비교하기 위해 매개 변수 값을 Int로 변환해야합니다.

이 작업을 수행 :

= CInt(Parameters!Client.Value) <> 1 
2

당신은 하나 개 이상의 값이 선택 될 수 있도록 다중 값 매개 변수로 클라이언트을 설정해야합니다.

문제는 다중 값 매개 변수가 배열 기반이므로 단일 값 매개 변수처럼 취급 할 수 없다는 것입니다. 선택한 값을 가져 오려면 Join 함수를 사용해야하며,이 함수는 선택된 값의 문자열을 반환합니다.

이 목록이 있으면 반환 된 문자열에서 특정 값을 확인하고 해당 값의 선택 여부에 따라 각 열의 표시 여부를 결정할 수 있습니다. 그래서 같은 각 컬럼의 가시성 사용 무언가 : 값 선택한 값의 문자열에있는 경우

=IIf(InStr(Join(Parameters!Client.Value, ","), "1") > 0, false, true) 

즉, 숨길 수없는, 그렇지 않으면 숨 깁니다.

간단한 보고서를 작성하여 테스트 해 보았습니다. 몇 가지 예 :

enter image description here

enter image description here

enter image description here

그래서이 요구 사항에 맞게해야한다.

다중 값 매개 변수로 이동하면 모두 선택 옵션을 사용 가능한 값에서 제거 할 수 있다는 것을 의미합니다. 이는 항상 기본적으로 사용 가능하므로 항상 사용 가능합니다.

+0

@ Gavin,이 솔루션을 계속 사용할 수 있었습니까? –