데이터 집합 필터, 데이터 영역 필터 및 그룹 필터 추가Add Dataset Filters, Data Region Filters, and Group Filters

보고서에서 필터는 보고서에 사용된 데이터를 제한하기 위해 만든 데이터 집합, 데이터 영역 또는 데이터 영역 그룹의 일부입니다.In a report, a filter is a part of a dataset, a data region, or a data region group that you create to limit the data that is used in the report. 공유 데이터 집합을 사용하는 경우와 같이 데이터 집합 쿼리를 변경할 수 없는 경우 필터를 사용하여 보고서 데이터를 제어할 수 있습니다.Filters are a way to help you control report data if you cannot change the dataset query, for example, if you are using a shared dataset.

필터를 사용하여 보고서에서 표시 및 처리되는 데이터를 제어할 수 있습니다.Filters help you control which data is displayed and processed in a report. 데이터 집합, 데이터 영역, 그룹 또는 이러한 항목의 조합에 대해 필터를 지정할 수 있습니다.You can specify filters for a dataset, a data region, or a group, in any combination.

자세한 내용은 데이터 집합에 필터 추가(보고서 작성기 및 SSRS)필터 수식 예(보고서 작성기 및 SSRS)를 참조하세요.For more information, see Add a Filter to a Dataset (Report Builder and SSRS) and Filter Equation Examples (Report Builder and SSRS).

참고

SQL Server Data Tools의 보고서 작성기 및 보고서 디자이너에서 페이지를 매긴 보고서 정의(.rdl) 파일을 만들고 수정할 수 있습니다.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in SQL Server Data Tools. 각 제작 환경에서는 보고서 및 관련 항목을 만들고, 열고, 저장할 수 있는 여러 방법을 제공합니다.Each authoring environment provides different ways to create, open, and save reports and related items.

필터를 설정할 시기 선택Choosing When to Set a Filter

원본에서 데이터를 필터링할 수 없는 경우에는 보고서 항목에 대한 필터를 지정합니다.Specify filters for report items when you cannot filter data at the source. 예를 들어 데이터 원본이 쿼리 매개 변수를 지원하지 않는 경우, 사용자가 저장 프로시저를 실행해야 하며 쿼리를 수정할 수 없는 경우, 또는 매개 변수가 있는 보고서 스냅숏에 다른 사용자의 사용자 지정 데이터가 표시되는 경우에는 보고서 필터를 사용합니다.For example, use report filters when the data source does not support query parameters, or you must run stored procedures and cannot modify the query, or a parameterized report snapshot displays customized data for different users.

보고서 데이터 집합에 사용하기 위해 보고서 데이터를 검색하기 전이나 후에 해당 데이터를 필터링할 수 있습니다.You can filter report data before or after it is retrieved for a report dataset. 데이터를 검색하기 전에 필터링하려면 각 데이터 집합에 대한 쿼리를 변경합니다.To filter data before it is retrieved, change the query for each dataset. 쿼리에서 데이터를 필터링할 때에는 데이터 원본의 데이터를 필터링하므로 보고서에서 검색 및 처리해야 하는 데이터의 양이 줄어듭니다.When you filter data in the query, you filter data at the data source, which reduces the amount data that must be retrieved and processed in a report. 데이터를 검색한 후에 필터링하려면 보고서에서 필터 식을 만듭니다.To filter data after it is retrieved, create filter expressions in the report. 데이터 집합, 데이터 영역 또는 세부 그룹을 비롯한 그룹에 대해 필터 식을 설정할 수 있습니다.You can set filter expressions for a dataset, a data region, or a group, including detail groups. 보고서를 보는 사용자를 식별하는 값을 기준으로 필터링하는 경우와 같이 특정 값 또는 특정 사용자에 대해 데이터를 필터링하는 방법을 제공하는 매개 변수를 필터 식에 포함할 수도 있습니다.You can also include parameters in filter expressions, providing a way to filter data for specific values or for specific users, for example, filtering on a value that identifies the user viewing the report.

필터를 설정할 위치 선택Choosing Where to Set a Filter

필터를 설정할 위치는 보고서에서 얻으려는 결과에 따라 결정합니다.Determine where you want to set a filter by the effect you want to achieve in your report. 런타임에 보고서 처리기는 가장 먼저 데이터 집합에 필터를 적용한 다음 데이터 영역과 그룹(각 그룹 계층 구조에서 하향식으로)에 차례로 필터를 적용합니다.At run time, the report processor applies filters in the following order: on the dataset, and then on the data region, and then on groups from the top down in each group hierarchy. 테이블, 행렬 및 목록에서 행 그룹, 열 그룹 및 인접 그룹의 필터는 독립적으로 적용됩니다.On a table, matrix, and list, filters for row groups, column groups, and adjacent groups are applied independently. 또한 차트에서 범주 그룹 및 계열 그룹의 필터는 독립적으로 적용됩니다.On a chart, filters for category groups and series groups are applied independently. 보고서 처리기가 필터를 적용할 때 모든 필터 수식은 각 보고서 항목에 대해 속성 대화 상자의 필터 페이지에 정의된 순서대로 적용됩니다. 즉, 부울 AND 연산을 사용하여 필터 수식을 조합한 것과 같습니다.When the report processor applies the filter, all filter equations are applied in the order they are defined on the Filter page of the Properties dialog box for each report item, which is the equivalent of combining them with Boolean AND operations.

다음 목록에서는 여러 보고서 항목에 필터를 설정할 때의 결과를 비교합니다.The following list compares the effect of setting filters on different report items:

  • 데이터 집합 단일 데이터 집합에 바인딩되는 하나 이상의 데이터 영역을 동일한 방식으로 필터링하려는 경우 데이터 집합에 필터를 설정합니다.On the dataset Set a filter on the dataset when you want one or more data regions that are bound to a single dataset to be filtered in the same way. 예를 들어 매출 데이터를 표시하는 테이블과 동일한 데이터를 표시하는 차트 모두에 바인딩되는 데이터 집합에 필터를 설정합니다.For example, set the filter on the dataset that is bound to both a table that displays sales data and a chart that displays the same data.

  • 데이터 영역 단일 데이터 집합에 바인딩되는 하나 이상의 데이터 영역에서 데이터 집합의 다른 보기를 제공하도록 하려는 경우 데이터 영역에 필터를 설정합니다.On the data region Set a filter on the data region when you want one or more data regions that are bound to a single dataset to provide a different view of the dataset. 예를 들어 한 테이블 데이터 영역에 필터를 설정하여 매출 상위 10개의 대리점을 표시하고, 다른 테이블 데이터 영역에 필터를 설정하여 매출 하위 10개의 대리점을 동일한 보고서에 표시할 수 있습니다.For example, set the filter on one Table data region to display the top ten stores for sales and a different Table data region to display the bottom ten stores for sales in the same report.

  • 테이블릭스 데이터 영역의 행 또는 열 그룹 그룹 식에 대해 특정 값을 포함하거나 제외하여 테이블, 행렬 또는 목록에 표시되는 그룹 값을 제어하려는 경우 그룹에 필터를 설정합니다.On the row or column groups in a Tablix data region Set a filter on a group when you want to include or exclude certain values for a group expression to control which group values appear in the table, matrix, or list.

  • 테이블릭스 데이터 영역의 세부 정보 그룹 데이터 영역에 대한 여러 개의 세부 정보 그룹이 있고 각 세부 정보 그룹에 해당 데이터 집합의 다른 데이터를 표시하려는 경우에는 세부 정보 그룹에 필터를 설정합니다.On the details group in a Tablix data region Set a filter on the details group when you have multiple detail groups for a data region and want each detail group to display a different set of data from the dataset.

  • 차트 데이터 영역의 계열 또는 범주 그룹 그룹 식에 대해 특정 값을 포함하거나 제외하여 차트에 표시되는 값을 제어하려는 경우 계열 또는 범주 그룹에 필터를 설정합니다.On the series or category groups in a Chart data region Set a filter on a series or category group when you want to include or exclude certain values for a group expression to control which values appear in the chart.

    맨 위로 이동Back to Top

필터 수식 이해Understanding a Filter Equation

런타임에 보고서 처리기는 값을 지정된 데이터 형식으로 변환한 다음 지정된 연산자를 사용하여 식 및 값을 비교합니다.At run time, the report processor converts the value to the specified data type, and then uses the specified operator to compare the expression and value. 다음 목록에서는 필터 수식의 각 부분에 대해 설명합니다.The following list describes each part of the filter equation:

  • 필터링할 대상을 정의합니다.Expression Defines what you are filtering on. 일반적인 대상은 데이터 집합 필드입니다.Typically, this is a dataset field.

  • 데이터 형식 필터 수식이 런타임에 보고서 처리기에서 계산될 때 사용할 데이터 형식을 지정합니다.Data Type Specifies the data type to use when the filter equation is evaluated at run time by the report processor. 선택하는 데이터 형식은 보고서 정의 스키마에서 지원하는 데이터 형식 중 하나여야 합니다.The data type you select must be one of the data types supported by the report definition schema.

  • 연산자 필터 수식의 두 부분을 비교하는 방식을 정의합니다.Operator Defines how to compare the two parts of the filter equation.

  • 비교에 사용할 식을 정의합니다.Value Defines the expression to use in the comparison.

    다음 섹션에서는 필터 수식의 각 부분에 대해 설명합니다.The following sections describe each part of the filter equation.

Expression

런타임에 보고서 처리기에서 필터 수식이 계산될 때는 식의 데이터 형식과 값이 동일해야 합니다.When the filter equation is evaluated by the report processor at run time, the data types for the expression and the value must be the same. 에 선택할 수 있는 필드의 데이터 형식은 데이터 원본에서 데이터를 검색하는 데 사용되는 데이터 처리 확장 프로그램이나 데이터 공급자에 따라 결정됩니다.The data type of the field you select for Expression is determined by the data processing extension or data provider that is used to retrieve data from the data source. 에 입력할 수 있는 식의 데이터 형식은 Reporting ServicesReporting Services 의 기본값에 따라 결정됩니다.The data type of the expression that you enter for Value is determined by Reporting ServicesReporting Services defaults. 선택하는 데이터 형식은 보고서 정의에 대해 지원되는 데이터 형식에 따라 결정됩니다.The choices for data type are determined by the data types supported for a report definition. 데이터 공급자에서는 데이터베이스의 값을 CLR 형식으로 변환할 수 있습니다.Values from the database might be converted by the data provider to a CLR type.

데이터 형식Data Type

보고서 처리기에서 두 값을 비교하려면 데이터 형식이 동일해야 합니다.For the report processor to compare two values, the data types must be the same. 다음 표에서는 CLR 데이터 형식과 보고서 정의 데이터 형식 간의 매핑을 보여 줍니다.The following table lists the mapping between CLR data types and report definition data types. 데이터 원본에서 검색한 데이터가 보고서 데이터로 표시될 때는 다른 데이터 형식으로 변환될 수 있습니다.Data that you retrieve from a data source might be converted to a data type that is different by the time it is report data.

보고서 정의 스키마 데이터 형식Report Definition Schema Data Type CLR 유형CLR Type(s)
BooleanBoolean BooleanBoolean
DateTimeDateTime DateTime, DateTimeOffsetDateTime, DateTimeOffset
정수Integer Int16, Int32, UInt16, Byte, SByteInt16, Int32, UInt16, Byte, SByte
부동Float Single, Double, DecimalSingle, Double, Decimal
텍스트Text String, Char, GUID, TimespanString, Char, GUID, Timespan

데이터 형식을 지정해야 하는 경우 식의 Value 부분에 사용자가 직접 변환을 지정할 수 있습니다.In cases where you must specify a data type, you can specify your own conversion in the Value part of the expression.

연산자Operator

다음 표에서는 필터 수식에 사용할 수 있으며 보고서 처리기에서 필터 수식을 계산하는 데 사용되는 연산자를 보여 줍니다.The following table lists the operators that you can use in a filter equation, and what the report processor uses to evaluate the filter equation.

연산자Operator 동작Action
Equal, Like, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqualEqual, Like, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual 식을 하나의 값과 비교합니다.Compares the expression to one value.
TopN, BottomNTopN, BottomN 식을 하나의 Integer 값과 비교합니다.Compares the expression to one Integer value.
TopPercent, BottomPercentTopPercent, BottomPercent 식을 하나의 Integer 또는 Float 값과 비교합니다.Compares the expression to one Integer or Float value.
사이Between 식이 두 값 사이에 있는지(해당 값 포함) 여부를 테스트합니다.Tests whether the expression is between two values, inclusive.
입력In 식이 일련의 값에 포함되어 있는지 여부를 테스트합니다.Tests whether the expression is contained in a set of values.

Value

Value 식은 필터 수식의 최종 부분을 지정합니다.The Value expression specifies the final part of the filter equation. 보고서 처리기는 평가 식을 사용자가 지정한 데이터 형식으로 변환한 다음 필터 수식 전체를 계산하여 식에 지정된 데이터가 필터를 통과하는지 여부를 확인합니다.The report processor converts the evaluated expression to the data type that you specified, and then evaluates the entire filter equation to determine if the data specified in Expression passes through the filter.

표준 CLR 데이터 형식이 아닌 데이터 형식을 변환하려면 식을 수정하여 데이터 형식으로 명시적으로 변환해야 합니다.To convert to a data type that is not a standard CLR data type, you must modify the expression to explicitly convert to a data type. 대화 상자의 일반 함수, 변환에 나열된 변환 함수를 사용할 수 있습니다.You can use the conversion functions listed in the Expression dialog box under Common Functions, Conversion. 예를 들어 ListPrice 데이터 원본에 money 데이터 형식으로 저장된 데이터를 나타내는 SQL ServerSQL Server 필드의 경우, 데이터 처리 확장 프로그램에서는 필드 값을 Decimal 데이터 형식으로 반환합니다.For example, for a field ListPrice that represents data that is stored as a money data type on a SQL ServerSQL Server data source, the data processing extension returns the field value as a Decimal data type. 보고서 통화에 $50000.00 보다 큰 값만 사용하도록 필터를 설정하려면 =CDec(50000.00)식을 사용하여 값을 10진수로 변환합니다.To set a filter to use only values greater than $50000.00 in the report currency, convert the value to Decimal by using the expression =CDec(50000.00).

이 값에는 사용자가 필터링할 값을 대화형으로 선택할 수 있게 해 주는 매개 변수 참조도 포함될 수 있습니다.This value can also include a parameter reference to allow a user to interactively select a value on which to filter.

맨 위로 이동Back to Top

관련 항목:See Also

보고서에 사용되는 식(보고서 작성기 및 SSRS) Expression Uses in Reports (Report Builder and SSRS)
보고서 매개 변수(보고서 작성기 및 보고서 디자이너)Report Parameters (Report Builder and Report Designer)