CountDistinct 함수(보고서 작성기 및 SSRS)
식으로 지정되어 정해진 범위의 컨텍스트에서 계산되는 Null이 아닌 모든 고유 값의 개수를 반환합니다.
[!참고]
SQL Server Data Tools의 보고서 작성기 및 보고서 디자이너에서 보고서 정의(.rdl)를 만들고 수정할 수 있습니다. 각 제작 환경에서는 보고서 및 관련 항목을 만들고, 열고, 저장할 수 있는 여러 방법을 제공합니다. 자세한 내용은 microsoft.com 웹에서 보고서 디자이너 및 보고서 작성기에서 보고서 디자인(SSRS)을 참조하십시오.
구문
CountDistinct(expression, scope, recursive)
매개 변수
expression
(Variant) 집계를 수행할 식입니다.scope
(String) 선택 사항입니다. 집계 함수를 적용할 보고서 항목을 포함하는 데이터 집합, 그룹 또는 데이터 영역의 이름입니다. scope를 지정하지 않은 경우 현재 범위가 사용됩니다.recursive
(Enumerated Type) 선택 사항입니다. Simple(기본값) 또는 RdlRecursive로, 집계를 재귀적으로 수행할지 여부를 지정합니다.
반환 형식
Integer를 반환합니다.
주의
scope의 값은 문자열 상수여야 하고 식일 수 없습니다. 외부 집계나 다른 집계를 지정하지 않는 집계의 경우 scope는 현재 범위나 포함하는 범위를 참조해야 합니다. 집계의 집계의 경우 중첩 집계는 자식 범위를 지정할 수 있습니다.
Expression에는 다음 예외와 조건이 있는 중첩 집계 함수에 대한 호출이 포함될 수 있습니다.
중첩 집계의 Scope는 외부 집계의 범위와 동일하거나 외부 집계의 범위에 포함되어야 합니다. 식에 있는 모든 고유 범위의 경우 한 범위는 다른 모든 범위에 대한 자식 관계에 있어야 합니다.
중첩 집계의 Scope는 데이터 집합의 이름일 수 없습니다.
Expression에는 First, Last, Previous 또는 RunningValue 함수가 포함되지 않아야 합니다.
Expression에는 recursive를 지정하는 중첩 집계가 포함되지 않아야 합니다.
자세한 내용은 집계 함수 참조(보고서 작성기 및 SSRS) 및 합계, 집계 및 기본 제공 컬렉션의 식 범위(보고서 작성기 및 SSRS)을 참조하십시오.
재귀 집계에 대한 자세한 내용은 재귀 계층 구조 그룹 만들기(보고서 작성기 및 SSRS)를 참조하십시오.
예
다음 코드 예에서는 기본 범위 및 부모 그룹 범위에 대해 Null이 아닌 고유한 Size 값의 수를 계산하는 식을 보여 줍니다. GroupbySubcategory 자식 그룹에 속하는 행의 셀에 식이 추가됩니다. 부모 그룹은 GroupbyCategory입니다. 식은 GroupbySubcategory(기본 범위)에 대한 결과를 표시한 후 GroupbyCategory(부모 그룹 범위)에 대한 결과를 표시합니다.
[!참고]
식은 실제 캐리지 리턴 및 줄 바꿈을 포함할 수 없습니다. 코드 예의 이러한 항목은 설명서 작성의 편의를 위해 포함되었습니다. 다음 예를 복사할 경우 각 줄에서 캐리지 리턴을 제거하십시오.
="Distinct count (Subcategory): " & CountDistinct(Fields!Size.Value) &
"Distinct count (Category): " & CountDistinct(Fields!Size.Value,"GroupbyCategory")