식에서 기본 제공 보고서 및 집계 함수 사용(보고서 작성기 2.0)

Reporting Services는 식에서 사용하여 데이터 집합, 데이터 영역 및 그룹의 집계 데이터를 계산하고 보고서 페이지의 첫 번째 값이나 마지막 값과 같은 기타 데이터 값을 검색하기 위한 기본 제공 함수를 제공합니다. 숫자 필드에 대한 기본 집계 함수는 SUM입니다. 대화 상자의 일반 함수에서 범주 집계를 선택하여 다른 함수를 선택할 수 있습니다.

보고서 데이터 및 보고서 레이아웃이 런타임에 결합되면 보고서 처리기는 식의 각 함수 참조에 대한 기본 범위를 결정합니다. 기본 범위는 데이터 집합, 데이터 영역, 테이블릭스 그룹(부모, 자식, 인접 또는 재귀), 테이블릭스 행과 열 그룹의 교집합 또는 차트 그룹(계열, 범주, 값)이 될 수 있습니다. 대부분의 함수에서는 함수 호출에 기본 범위가 아닌 다른 범위를 지정할 수 있습니다. 각 함수에 대한 유효한 범위를 확인하려면 개별 함수 참조 항목을 확인하십시오. 예를 보려면 합계 및 기타 집계 계산(보고서 작성기 2.0)을 참조하십시오.

다음 표에서는 Reporting Services에서 지원하는 기본 제공 함수의 범주를 나열합니다. 

  • 집계 계산

  • 실행 값 계산

  • 행 개수 검색

  • 정렬 종속 값 검색

  • 서버 집계 검색

  • 재귀 수준 검색

  • 범위 테스트

범위 이해

Reporting Services에서 범위라는 용어는 컨텍스트에 따라 각기 다른 개념을 나타낼 수 있습니다. 다음 목록에서는 이러한 여러 가지 개념을 설명합니다.

  • 보고서 처리 중 보고서 항목의 범위 - 보고서 데이터와 보고서 레이아웃이 런타임에 결합될 때는 각 보고서 항목이 처리됩니다. 테이블릭스 데이터 영역은 바깥쪽부터 시작하여 테이블릭스 행 그룹과 열 그룹이 처리됨에 따라 더 제한적인 데이터 집합으로 진행되면서 처리됩니다. 이러한 관점에서 그룹은 데이터 영역에 포함됩니다. 자식 그룹과 그 형제는 부모 그룹에 포함됩니다. 예를 들어 그룹의 토글 항목은 동일한 그룹 범위나 해당 그룹을 포함하는 그룹 범위의 입력란이어야 합니다. 자세한 내용은 이 항목의 뒷부분에 나오는 포함하는 범위의 이해를 참조하십시오.

  • 집계 함수의 범위 - 보고서 처리기에서는 다음 목록에 설명된 대로 명명된 범위나 기본 범위에 있는 각 집계 식을 평가합니다.

    • 명명된 범위는 데이터 집합, 데이터 영역 또는 그룹의 이름일 수 있습니다.

    • 기본 범위는 보고서 처리기가 평가하는 보고서 항목 속성에 따라 달라집니다. 예를 들어 행 및 열 그룹이 있는 데이터 영역의 테이블릭스 셀에 대한 기본 범위는 셀이 속한 가장 안쪽 행 그룹과 열 그룹입니다. 그룹이 없는 테이블의 셀에 대한 기본 범위는 세부 그룹입니다. 디자인 화면에서 테이블릭스 데이터 영역은 셀의 사용 가능한 범위를 확인하는 데 도움이 되는 시각적 요소를 제공합니다. 테이블릭스 데이터 영역의 위와 옆에는 그룹에 속한 행과 열을 보여 주는 그룹 막대가 표시됩니다. 셀을 선택하면 셀이 속한 활성화된 가장 안쪽 그룹이 그룹 표시기에 표시됩니다. 자세한 내용은 테이블릭스 데이터 영역 작업(보고서 작성기 2.0)을 참조하십시오.

      디자인 화면의 입력란에는 기본 범위가 없습니다. 사용할 데이터 집합의 이름(예: =First(Fields!Sales.Value,"Dataset1"))을 지정해야 합니다.

      기본 제공 함수를 호출할 때 명명된 범위를 지정하는 경우에는 함수 참조를 확인하여 유효한 범위를 확인하십시오. 예를 들어 Sum의 경우 기본 범위나 포함하는 범위를 지정할 수 있습니다.

포함하는 범위의 이해

다음 범위는 가장 바깥쪽(높음)에서 가장 안쪽(낮음)으로 포함 순서를 나열하고 이들이 나타내는 데이터를 설명합니다.

  • 보고서 데이터 집합   보고서 본문의 보고서 항목 또는 데이터 영역에 연결된 보고서 데이터 집합을 지정합니다. 집계에 사용되는 데이터는 데이터 집합 필터 식을 적용한 후 보고서 데이터 집합에서 가져옵니다.

  • 데이터 영역   데이터 영역 필터와 정렬 식을 적용한 후의 데이터 영역에 있는 데이터를 지정합니다. 그룹 필터는 데이터 영역의 집계를 계산할 때 사용되지 않습니다.

  • 행 및 열 그룹   부모 그룹과 자식 그룹에 그룹 식과 그룹 필터를 적용한 후의 데이터를 지정합니다. 범위 포함을 식별하기 위해 모든 부모 그룹은 해당 자식 그룹을 포함합니다.

  • 중첩된 데이터 영역   추가된 셀의 컨텍스트에서 중첩된 데이터 영역 필터와 정렬 식을 적용한 후의 중첩된 데이터 영역에 대한 데이터를 지정합니다.

  • 중첩된 데이터 영역에 대한 행 및 열 그룹   중첩된 데이터 영역의 그룹 식과 그룹 필터를 적용한 후의 데이터를 지정합니다.

기본 제공 함수에서 현재 범위 또는 포함하는 범위를 지정하도록 요구하는 경우 포함 순서에서 현재 범위보다 낮거나 같은 수준의 범위는 지정할 수 없습니다. 예를 들어 자식 그룹이 있는 행 그룹의 행에서는 자식 그룹의 이름을 범위로 지정할 수 없으며 형제 행 그룹도 지정할 수 없습니다. 기본 범위를 사용하거나 포함 순서에서 더 높은 범위를 지정해야 합니다.

[!참고]

단일 식에서 행 그룹과 열 그룹 모두에 걸쳐 값을 집계할 수 없습니다. 행 그룹 범위를 사용하는 집계와 열 그룹 범위를 사용하는 다른 집계를 포함하는 식 작성은 지원되지 않습니다.

필터 식

데이터 집합과 데이터 영역 필터 식은 집계 함수를 포함할 수 없습니다. 그룹 필터는 데이터 영역에 대한 집계를 계산할 때 무시됩니다.

집계 계산

다음 기본 제공 함수는 기본 범위 또는 명명된 범위에서 Null이 아닌 숫자 데이터의 집합에 대한 요약 값을 계산합니다. 집계 계산에 사용되는 모든 데이터는 동일한 데이터 형식을 가져야 합니다. 여러 숫자 데이터 형식이 포함된 데이터를 동일한 데이터 형식으로 변환하려면 CInt, CDbl 또는 CDec 같은 변환 함수를 사용하십시오. 자세한 내용은 형식 변환 함수를 참조하십시오.

이러한 함수를 사용하여 재귀적 계층 그룹에 대한 합계를 계산하려면 Recursive 매개 변수를 지정해야 합니다.

함수

설명

Avg

식으로 지정되어 지정된 범위에서 계산되는 Null이 아닌 모든 숫자 값의 평균을 반환합니다.

Count

식으로 지정되어 지정된 범위의 컨텍스트에서 계산되는 Null이 아닌 값의 개수를 반환합니다.

CountDistinct

지정된 범위의 컨텍스트에서 계산되고 식에서 지정한 Null이 아닌 모든 고유 값의 수를 반환합니다.

Max

지정된 범위의 컨텍스트에서 식으로 지정된 Null이 아닌 모든 숫자 값의 최대값을 반환합니다. 이 함수로 차트의 최대값을 지정하여 눈금을 제어할 수 있습니다.

Min

지정된 범위의 컨텍스트에서 식으로 지정되는 Null이 아닌 모든 숫자 값의 최소값을 반환합니다. 이 함수로 차트의 최소값을 지정하여 눈금을 제어할 수 있습니다.

StDev

식으로 지정되어 지정된 범위에서 계산되는 Null이 아닌 모든 숫자 값의 표준 편차를 반환합니다.

StDevP

식으로 지정되어 지정된 범위의 컨텍스트에서 계산되는 Null이 아닌 모든 숫자 값의 모집단 표준 편차를 반환합니다.

Sum

식으로 지정되어 정해진 범위에서 계산되는 Null이 아닌 모든 숫자 값의 합계를 반환합니다.

Var

식으로 지정되어 지정된 범위에서 계산되는 Null이 아닌 모든 숫자 값의 분산을 반환합니다.

VarP

식으로 지정되어 지정된 범위의 컨텍스트에서 계산되는 Null이 아닌 모든 숫자 값의 모집단 분산을 반환합니다.

실행 값 계산

다음 기본 제공 함수는 데이터의 집합에 대한 실행 값을 계산합니다. RowNumber는 포함하는 범위 내의 각 행에 대해 증가하는 개수의 실행 값을 반환한다는 점에서 RunningValue와 비슷합니다. 이러한 함수의 범위 매개 변수는 개수 계산을 다시 시작하는 시점을 제어하는 포함하는 범위를 지정해야 합니다.

함수

설명

RowNumber

지정한 범위에서 행 개수의 실행 개수를 반환합니다. RowNumber는 0이 아닌 1부터 계산을 다시 시작합니다.

RunningValue

식으로 지정되어 정해진 범위에서 계산되는 Null이 아닌 모든 숫자 값의 실행 집계를 반환합니다.

행 개수 검색

다음 기본 제공 함수는 지정된 범위에서 행 개수를 계산합니다. 이 함수를 사용하여 Null 값을 가진 행을 포함한 모든 행의 개수를 계산할 수 있습니다.

함수

설명

CountRows

Null 값을 가진 행을 포함하여 지정된 범위의 행 개수를 반환합니다.

정렬 종속 값 검색

다음 기본 제공 함수는 지정된 범위 내의 첫 번째, 마지막, 또는 이전 값을 반환합니다. 이러한 함수는 데이터 값의 정렬 순서에 따라 달라집니다. 예를 들어 이러한 함수를 사용하여 페이지의 첫 번째와 마지막 값을 찾아 사전 스타일의 페이지 머리글을 만들 수 있습니다. 예를 들어 Previous를 사용하여 특정 범위 내에서 한 행에 있는 값을 이전 행의 값과 비교하여 테이블에서 전년동기대비 백분율 값을 찾을 수 있습니다.

함수

설명

First

지정된 식의 지정된 범위에서 첫 번째 값을 반환합니다.

Last

지정된 식의 지정된 범위에서 마지막 값을 반환합니다.

Previous

지정된 범위 내에서 항목의 이전 인스턴스에 대한 지정된 집계 값 또는 값을 반환합니다.

서버 집계 검색

다음 기본 제공 함수는 데이터 공급자에서 사용자 지정 집계를 검색합니다. 예를 들어 Analysis Services 데이터 원본 유형을 사용하면 데이터 원본 서버에서 계산된 집계를 검색하여 그룹 머리글에 사용할 수 있습니다.

함수

설명

Aggregate

데이터 공급자가 정의한 대로 지정한 식의 사용자 지정 집계를 반환합니다.

범위 테스트

다음 기본 제공 함수는 보고서 항목의 현재 컨텍스트를 테스트하여 특정 범위에 속하는지 확인합니다.

함수

설명

InScope

항목의 현재 인스턴스가 지정한 범위 내에 있는지 여부를 나타냅니다.

재귀 수준 검색

다음 기본 제공 함수는 재귀 계층이 처리될 때 현재 수준을 검색합니다. 이 함수의 결과를 입력란의 Padding 속성에 사용하여 재귀 그룹에 대한 시각적 계층의 들여쓰기 수준을 제어할 수 있습니다. 자세한 내용은 재귀 계층 구조 그룹 만들기(보고서 작성기 2.0)를 참조하십시오.

함수

설명

Level

재귀 계층의 현재 수준을 반환합니다.