다음을 통해 공유


보고서의 보고서 데이터 필터링

필터를 사용하여 보고서에서 표시 및 처리되는 데이터를 제어할 수 있습니다. 데이터 집합, 데이터 영역, 그룹 또는 이러한 항목의 조합에 대해 필터를 지정할 수 있습니다.

가능한 경우 쿼리 매개 변수를 포함하도록 쿼리를 수정하여 검색되는 데이터를 제한함으로써 보고서에 사용할 데이터를 검색하기 전에 데이터 원본에서 데이터를 필터링하는 것이 좋습니다. 자세한 내용은 원본에서 보고서 데이터 필터링을 참조하십시오.

원본에서 데이터를 필터링할 수 없는 경우에는 보고서 항목에 대한 필터를 지정합니다. 예를 들어 데이터 원본이 쿼리 매개 변수를 지원하지 않는 경우, 사용자가 저장 프로시저를 실행해야 하며 쿼리를 수정할 수 없는 경우, 또는 매개 변수가 있는 보고서 스냅숏에 다른 사용자의 사용자 지정 데이터가 표시되는 경우에는 보고서 필터를 사용합니다.

필터를 설정할 위치 선택

필터를 설정할 위치는 보고서에서 얻으려는 결과에 따라 결정합니다. 런타임에 보고서 처리기는 가장 먼저 데이터 집합에 필터를 적용한 다음 데이터 영역과 그룹(각 그룹 계층 구조에서 하향식으로)에 차례로 필터를 적용합니다. 테이블, 행렬 및 목록에서 행 그룹, 열 그룹 및 인접 그룹의 필터는 독립적으로 적용됩니다. 또한 차트에서 범주 그룹 및 계열 그룹의 필터는 독립적으로 적용됩니다. 보고서 처리기가 필터를 적용할 때 모든 필터 수식은 각 보고서 항목에 대해 속성 대화 상자의 필터 페이지에 정의된 순서대로 적용됩니다. 즉, 부울 AND 연산을 사용하여 필터 수식을 조합한 것과 같습니다.

다음 목록에서는 여러 보고서 항목에 필터를 설정할 때의 결과를 비교합니다.

  • 데이터 집합   단일 데이터 집합에 바인딩되는 하나 이상의 데이터 영역을 동일한 방식으로 필터링하려는 경우 데이터 집합에 필터를 설정합니다. 예를 들어 매출 데이터를 표시하는 테이블과 동일한 데이터를 표시하는 차트 모두에 바인딩되는 데이터 집합에 필터를 설정합니다.

  • 데이터 영역   단일 데이터 집합에 바인딩되는 하나 이상의 데이터 영역에서 데이터 집합의 다른 보기를 제공하도록 하려는 경우 데이터 영역에 필터를 설정합니다. 예를 들어 한 테이블 데이터 영역에 필터를 설정하여 매출 상위 10개의 대리점을 표시하고, 다른 테이블 데이터 영역에 필터를 설정하여 매출 하위 10개의 대리점을 동일한 보고서에 표시할 수 있습니다.

  • 테이블릭스 데이터 영역의 행 또는 열 그룹   그룹 식에 대해 특정 값을 포함하거나 제외하여 테이블, 행렬 또는 목록에 표시되는 그룹 값을 제어하려는 경우 그룹에 필터를 설정합니다.

  • 테이블릭스 데이터 영역의 그룹 세부 정보   데이터 영역에 대한 여러 개의 그룹 세부 정보가 있고 각 그룹 세부 정보에 해당 데이터 집합의 다른 데이터를 표시하려는 경우에는 그룹 세부 정보에 필터를 설정합니다.

  • 차트 데이터 영역의 계열 또는 범주 그룹   그룹 식에 대해 특정 값을 포함하거나 제외하여 차트에 표시되는 값을 제어하려는 경우 계열 또는 범주 그룹에 필터를 설정합니다.

필터 수식 만들기

런타임에 보고서 처리기는 값을 지정된 데이터 형식으로 변환한 다음 지정된 연산자를 사용하여 식 및 값을 비교합니다. 다음 목록에서는 필터 수식의 각 부분에 대해 설명합니다.

  •    필터링할 대상을 정의합니다. 일반적인 대상은 데이터 집합 필드입니다.

  • 데이터 형식   필터 수식이 런타임에 보고서 처리기에서 계산될 때 사용할 데이터 형식을 지정합니다. 선택하는 데이터 형식은 보고서 정의 스키마에서 지원하는 데이터 형식 중 하나여야 합니다.

  • 연산자   필터 수식의 두 부분을 비교하는 방식을 정의합니다.

  •    비교에 사용할 식을 정의합니다.

다음 섹션에서는 필터 수식의 각 부분에 대해 설명합니다. 필터 수식의 예는 필터 수식 예(Reporting Services)를 참조하십시오.

런타임에 보고서 처리기에서 필터 수식이 계산될 때는 식의 데이터 형식과 값이 동일해야 합니다. 에 선택할 수 있는 필드의 데이터 형식은 데이터 원본에서 데이터를 검색하는 데 사용되는 데이터 처리 확장 프로그램이나 데이터 공급자에 따라 결정됩니다. 에 입력할 수 있는 식의 데이터 형식은 Reporting Services의 기본값에 따라 결정됩니다. 선택하는 데이터 형식은 보고서 정의에 대해 지원되는 데이터 형식에 따라 결정됩니다. 데이터 공급자에서는 데이터베이스의 값을 CLR 형식으로 변환할 수 있습니다. 자세한 내용은 보고서 데이터 집합 이해를 참조하십시오.

데이터 형식

보고서 처리기에서 두 값을 비교하려면 데이터 형식이 동일해야 합니다. 다음 표에서는 CLR 데이터 형식과 보고서 정의 데이터 형식 간의 매핑을 보여 줍니다. 데이터 원본에서 검색한 데이터가 보고서 데이터로 표시될 때는 다른 데이터 형식으로 변환될 수 있습니다. 자세한 내용은 보고서 데이터 집합 이해를 참조하십시오.

보고서 정의 스키마 데이터 형식

CLR 형식

Boolean

Boolean

DateTime

DateTime, DateTimeOffset

Integer

Int16, Int32, UInt16, Byte, SByte

Float

Single, Double, Decimal

Text

String, Char, GUID, Timespan

데이터 형식을 지정해야 하는 경우 식의 Value 부분에 사용자가 직접 변환을 지정할 수 있습니다.

연산자

다음 표에서는 필터 수식에 사용할 수 있으며 보고서 처리기에서 필터 수식을 계산하는 데 사용되는 연산자를 보여 줍니다.

연산자

동작

Equal, Like, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual

식을 하나의 값과 비교합니다.

TopN, BottomN

식을 하나의 Integer 값과 비교합니다.

TopPercent, BottomPercent

식을 하나의 Integer 또는 Float 값과 비교합니다.

Between

식이 두 값 사이에 있는지(해당 값 포함) 여부를 테스트합니다.

In

식이 일련의 값에 포함되어 있는지 여부를 테스트합니다.

Value 식은 필터 수식의 최종 부분을 지정합니다. 보고서 처리기는 평가 식을 사용자가 지정한 데이터 형식으로 변환한 다음 필터 수식 전체를 계산하여 식에 지정된 데이터가 필터를 통과하는지 여부를 확인합니다.

표준 CLR 데이터 형식이 아닌 데이터 형식을 변환하려면 식을 수정하여 데이터 형식으로 명시적으로 변환해야 합니다. 대화 상자의 일반 함수, 변환에 나열된 변환 함수를 사용할 수 있습니다. 예를 들어 SQL Server 데이터 원본에 money 데이터 형식으로 저장된 데이터를 나타내는 ListPrice 필드의 경우, 데이터 처리 확장 프로그램에서는 필드 값을 System..::..Decimal 데이터 형식으로 반환합니다. 보고서 통화에 $50000.00보다 큰 값만 사용하도록 필터를 설정하려면 =CDec(50000.00) 식을 사용하여 값을 10진수로 변환합니다.

이 값에는 사용자가 필터링할 값을 대화형으로 선택할 수 있게 해 주는 매개 변수 참조도 포함될 수 있습니다. 자세한 내용은 필터 수식 예(Reporting Services)를 참조하십시오.