다음을 통해 공유


집계 변환

적용 대상: SQL Server Azure Data Factory의 SSIS Integration Runtime

집계 변환은 평균과 같은 집계 함수를 열 값에 적용하고 결과를 변환 출력에 복사합니다. 변환은 집계 함수 외에도 집계할 그룹을 지정하는 데 사용할 수 있는 GROUP BY 절을 제공합니다.

작업

집계 변환은 다음 작업을 지원합니다.

연산 설명
그룹 기준 데이터 세트를 그룹으로 나눕니다. 그룹화에는 모든 종류의 데이터 형식의 열을 사용할 수 있습니다. 자세한 내용은 GROUP BY(Transact-SQL)를 참조하세요.
Sum 열의 값을 합산합니다. 숫자 데이터 형식의 열만 합계를 계산할 수 있습니다. 자세한 내용은 SUM(Transact-SQL)을 참조하세요.
평균 열에 포함된 열 값의 평균을 반환합니다. 숫자 데이터 형식의 열만 평균을 계산할 수 있습니다. 자세한 내용은 AVG(Transact-SQL)를 참조하세요.
Count 그룹의 항목 개수를 반환합니다. 자세한 내용은 COUNT(Transact-SQL)를 참조하세요.
Count distinct 그룹에 있는 Null이 아닌 고유 값의 수를 반환합니다.
최소 그룹의 최소값을 반환합니다. 자세한 내용은 MIN(Transact-SQL)을 참조하세요. Transact-SQL MIN 함수와는 반대로 이 연산은 숫자, 날짜 및 시간 데이터 형식에서만 사용할 수 있습니다.
최대 그룹의 최대값을 반환합니다. 자세한 내용은 MAX(Transact-SQL)를 참조하세요. Transact-SQL MAX 함수와는 반대로 이 연산은 숫자, 날짜 및 시간 데이터 형식에서만 사용할 수 있습니다.

집계 변환은 SQL Server 관계형 데이터베이스 엔진과 동일한 방식으로 null 값을 처리합니다. 이러한 동작은 SQL-92 표준에서 정의됩니다. 다음 규칙이 적용됩니다.

  • GROUP BY 절에서 null은 다른 열 값처럼 처리됩니다. 그룹화 열에 둘 이상의 null 값이 포함된 경우 null 값은 단일 그룹에 배치됩니다.

  • COUNT(열 이름) 및 COUNT (DISTINCT 열 이름) 함수에서 null은 무시되고 결과는 명명된 열에 null 값이 포함된 행을 제외합니다.

  • COUNT(*) 함수에서는 null 값이 있는 행을 포함하여 모든 행이 계산됩니다.

집계의 큰 숫자

열에는 큰 값 또는 전체 자릿수 요구 사항 때문에 특별히 고려해야 하는 숫자 값이 포함될 수 있습니다. 집계 변환에는 숫자가 크거나 전체 자릿수가 많은 경우를 특별하게 처리하기 위해 출력 열에 설정할 수 있는 IsBig 속성이 포함됩니다. 열 값이 40억을 초과하거나 부동 소수점 데이터 형식을 초과하는 정밀도가 필요한 경우 IsBig를 1로 설정해야 합니다.

IsBig 속성을 1로 설정하면 다음과 같은 방법으로 집계 변환의 출력에 영향을 줍니다.

  • DT_R8 데이터 형식이 DT_R4 데이터 형식 대신 사용됩니다.

  • 개수 결과는 DT_UI8 데이터 형식으로 저장됩니다.

  • Distinct count 결과는 DT_UI4 데이터 형식으로 저장됩니다.

참고 항목

GROUP BY, Maximum 또는 Minimum 연산에서 사용되는 열에는 IsBig을 1로 설정할 수 없습니다.

성능 고려 사항

집계 변환에는 변환 성능을 향상시키기 위해 설정할 수 있는 속성 집합이 포함되어 있습니다.

  • Group by 연산을 수행할 때 구성 요소의 키 또는 KeysScale 속성과 구성 요소 출력을 설정합니다. Keys를 사용하면 변환에서 처리할 정확한 개수의 키를 지정할 수 있습니다. (이 컨텍스트에서 Keys는 Group by 연산에서 생성될 것으로 예상되는 그룹 수를 의미합니다.) KeysScale을 사용하여 대략적인 키 수를 지정할 수 있습니다. 키 또는 KeyScale에 적절한 값을 지정하면 변환에서 캐시하는 데이터에 적절한 메모리를 할당할 수 있으므로 성능이 향상됩니다.

  • Distinct count 연산을 수행할 때 구성 요소의 CountDistinctKeys 또는 CountDistinctScale 속성을 설정합니다. CountDistinctKeys를 사용하면 변환에서 Count distinct 연산에 대해 처리할 정확한 개수의 키를 지정할 수 있습니다. (이 컨텍스트에서 CountDistinctKeys는 Distinct count 연산으로 발생할 것으로 예상되는고유 값의 수를 나타냅니다.) CountDistinctScale을 사용하면 고유 카운트 작업에 대한 대략적인 키 수를 지정할 수 있습니다. CountDistinctKeys 또는 CountDistinctScale에 적절한 값을 지정하면 변환에서 변환이 캐시하는 데이터에 적절한 메모리를 할당할 수 있으므로 성능이 향상됩니다.

집계 변환 구성

집계 변환은 변환, 출력 및 열 수준에서 구성할 수 있습니다.

  • 변환 수준에서 다음 값을 지정하여 성능에 대한 집계 변환을 구성합니다.

    • Group by 연산의 결과로 예상되는 그룹 수입니다.

    • Count distinct 연산의 결과로 예상되는 고유 값의 수입니다.

    • 집계 중에 메모리를 확장할 수 있는 비율

    또한 집계 변환은 수식자 값이 0일 때 실패하는 대신 경고를 생성하도록 구성할 수 있습니다.

  • 출력 수준에서 집계 변환의 성능을 최적화하려면 Group by 연산의 결과로 예상되는 그룹 수를 지정하십시오. 집계 변환에는 여러 출력이 지원되며 각 출력은 서로 다르게 구성될 수 있습니다.

  • 열 수준에서 다음 값을 지정합니다.

    • 열이 수행하는 집계입니다.

    • 집계의 비교 옵션입니다.

또한 다음 값을 지정하여 집계 변환을 성능에 맞게 구성할 수 있습니다.

  • 열에서 Group by 연산의 결과로 예상되는 그룹 수입니다.

  • 열에서 Count distinct 연산으로 인해 발생할 것으로 예상되는 고유 값의 수입니다.

또한 열에 큰 숫자 값이나 전체 자릿수가 높은 숫자 값이 있는 경우 열을 IsBig으로 식별할 수 있습니다.

집계 변환은 비동기적이며 따라서 행별로 데이터를 사용하고 게시하지 않습니다. 대신 전체 행 집합을 사용하고 그룹화 및 집계를 수행한 다음 결과를 게시합니다.

이 변환은 열을 통과하지 않지만 게시하는 데이터에 대한 데이터 흐름에 새 열을 만듭니다. 집계 함수가 적용되는 입력 열 또는 변환에서 그룹화에 사용하는 입력 열만 변환 출력에 복사됩니다. 예를 들어, 집계 변환 입력에는 CountryRegion, City, Population 세 개의 열이 있을 수 있습니다. 변환은 CountryRegion 열에 따라 그룹화되며 Sum 함수를 Population 열에 적용합니다. 따라서 출력에는 City 열이 포함되지 않습니다.

집계 변환에 여러 출력을 추가하고 각 집계를 다른 출력으로 보낼 수도 있습니다. 예를 들어 집계 변환이 Sum 및 the Average 함수를 적용하는 경우 각 집계는 서로 다른 출력으로 지정될 수 있습니다.

단일 입력 열에 여러 집계를 적용할 수 있습니다. 예를 들어 Sales라는 입력 열의 합계와 평균 값을 원하는 경우 Sales 열에 Sum 및 Average 함수를 모두 적용하도록 변환을 구성할 수 있습니다.

집계 변환에는 하나의 입력과 하나 이상의 출력이 포함됩니다. 오류 출력은 지원하지 않습니다.

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.

고급 편집기 대화 상자에는 프로그래밍 방식으로 설정할 수 있는 속성이 표시됩니다. 고급 편집기 대화 상자를 사용하거나 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하세요.

속성 설정 방법을 보려면 다음 항목 중 하나를 클릭하십시오.

집계 변환을 사용하여 데이터 세트의 값 집계

집계 변환 편집기 (집계 탭)

집계 변환 편집기 대화 상자의 집계 탭을 사용하여 집계 및 집계 속성에 대한 열을 지정할 수 있습니다. 이때 여러 집계를 적용할 수 있습니다. 이 변환은 오류 출력을 생성하지 않습니다.

참고 항목

키 개수, 키 배율, 고유 키 개수, 고유 키 배율 옵션은 고급 탭에서 지정할 경우 구성 요소 수준에 적용되며, 집계 탭의 고급 표시에서 지정할 경우 출력 수준에 적용되고, 집계 탭 하단의 열 목록에서 지정할 경우 열 수준에 적용됩니다.

집계 변환에서 키 배율 조정은 Group by 연산에서 발생할 것으로 예상되는 그룹 수를 나타냅니다. 고유 키 수고유 수 배율고유 카운트 연산의 결과로 반환될 고유 값 수를 나타냅니다.

옵션

고급 / 기본
여러 출력에 대해 여러 집계를 구성하는 옵션을 표시하거나 숨깁니다. 기본적으로 고급 옵션은 숨겨집니다.

집계 이름
고급 디스플레이에서 집계의 이름을 입력합니다.

Group By 열
고급 디스플레이에서 아래 설명된 대로 사용 가능한 입력 열 목록을 사용하여 그룹화할 열을 선택합니다.

키 배율
고급 디스플레이에서 필요에 따라 집계가 쓸 수 있는 키의 수를 대략적으로 지정합니다. 이 옵션의 기본값은 Unspecified입니다. 키 배율 속성이 모두 설정되면 값이 우선합니다.

설명
Unspecified 키 배율 속성이 사용되지 않습니다.
낮음 집계는 약 500,000개의 키를 작성할 수 있습니다.
중간 집계는 약 5,000,000개의 키를 작성할 수 있습니다.
높음 집계에서 25,000,000개 이상의 키를 쓸 수 있습니다.

Keys
고급 디스플레이에서 필요에 따라 집계가 쓸 수 있는 키의 수를 정확하게 지정합니다. 키 배율를 모두 지정하면 가 우선합니다.

사용 가능한 입력 열
이 테이블의 확인란을 사용하여 사용 가능한 입력 열 목록에서 선택합니다.

입력 열
사용 가능한 입력 열 목록에서 선택합니다.

출력 별칭
각 열의 별칭을 입력합니다. 기본값은 입력 열의 이름이지만 설명이 포함된 고유 이름을 임의로 선택할 수 있습니다.

연산
다음 표를 가이드로 사용하여 사용 가능한 작업 목록에서 선택합니다.

연산 설명
Group By 데이터 세트를 그룹으로 나눕니다. 그룹화에는 모든 종류의 데이터 형식의 열을 사용할 수 있습니다. 자세한 내용은 GROUP BY를 참조하세요.
Sum 열의 값을 합산합니다. 숫자 데이터 형식의 열만 합계를 계산할 수 있습니다. (자세한 내용은 SUM을 참조하세요.)
평균 열에 포함된 열 값의 평균을 반환합니다. 숫자 데이터 형식의 열만 평균을 계산할 수 있습니다. 자세한 내용은 AVG를 참조하세요.
Count 그룹의 항목 개수를 반환합니다. 자세한 내용은 COUNT를 참조하세요.
CountDistinct 그룹에 있는 Null이 아닌 고유 값의 수를 반환합니다. 자세한 내용은 COUNT와 Distinct를 참조하세요.
최소 그룹의 최소값을 반환합니다. 숫자 데이터 형식으로 제한되었습니다.
최댓값 그룹의 최대값을 반환합니다. 숫자 데이터 형식으로 제한되었습니다.

비교 플래그
Group by를 선택하는 경우 확인란을 사용하여 변환에서 비교를 수행하는 방법을 제어합니다. 문자열 비교 옵션에 대한 자세한 내용은 문자열 데이터 비교를 참조하세요.

고유 배율 개수
필요에 따라 집계에서 쓸 수 있는 고유한 값의 수를 대략적으로 지정합니다. 이 옵션의 기본값은 Unspecified입니다. CountDistinctScaleCountDistinctKeys를 모두 지정하면 CountDistinctKeys가 우선합니다.

설명
Unspecified CountDistinctScale 속성은 사용되지 않습니다.
낮음 집계는 약 500,000개의 고유 값을 작성할 수 있습니다.
중간 집계는 약 5,000,000개의 고유 값을 작성할 수 있습니다.
높음 집계에서 25,000,000개 이상의 고유 값을 작성할 수 있습니다.

고유 키 개수
필요에 따라 집계에서 쓸 수 있는 고유한 값의 수를 정확하게 지정합니다. CountDistinctScaleCountDistinctKeys를 모두 지정하면 CountDistinctKeys가 우선합니다.

집계 변환 편집기(고급 탭)

집계 변환 편집기 대화 상자의 고급 탭을 사용하여 구성 요소 속성을 설정하고, 집계를 지정하고, 입력 및 출력 열의 속성을 설정합니다.

참고 항목

키 개수, 키 배율, 고유 키 개수, 고유 키 배율 옵션은 고급 탭에서 지정할 경우 구성 요소 수준에 적용되며, 집계 탭의 고급 표시에서 지정할 경우 출력 수준에 적용되고, 집계 탭 하단의 열 목록에서 지정할 경우 열 수준에 적용됩니다.

집계 변환에서 키 배율 조정은 Group by 연산에서 발생할 것으로 예상되는 그룹 수를 나타냅니다. 고유 키 수고유 수 배율고유 카운트 연산의 결과로 반환될 고유 값 수를 나타냅니다.

옵션

키 배율
필요에 따라 집계에 필요한 키 수를 대략적으로 지정합니다. 변환은 이 정보를 사용하여 초기 캐시 크기를 최적화합니다. 이 옵션의 기본값은 Unspecified입니다. 키 배율키 수를 모두 지정하면 키 수가 우선합니다.

설명
Unspecified 키 배율 속성이 사용되지 않습니다.
낮음 집계는 약 500,000개의 키를 작성할 수 있습니다.
중간 집계는 약 5,000,000개의 키를 작성할 수 있습니다.
높음 집계에서 25,000,000개 이상의 키를 쓸 수 있습니다.

키 수
필요에 따라 집계에 필요한 키 수를 정확하게 지정합니다. 변환은 이 정보를 사용하여 초기 캐시 크기를 최적화합니다. 키 배율키 수를 모두 지정하면 키 수가 우선합니다.

고유 배율 개수
필요에 따라 집계에서 쓸 수 있는 고유한 값의 수를 대략적으로 지정합니다. 이 옵션의 기본값은 Unspecified입니다. 고유 배율 개수고유 키 개수를 모두 지정하면 고유 키 개수가 우선합니다.

설명
Unspecified CountDistinctScale 속성은 사용되지 않습니다.
낮음 집계는 약 500,000개의 고유 값을 작성할 수 있습니다.
중간 집계는 약 5,000,000개의 고유 값을 작성할 수 있습니다.
높음 집계에서 25,000,000개 이상의 고유 값을 작성할 수 있습니다.

고유 키 개수
필요에 따라 집계에서 쓸 수 있는 고유한 값의 수를 정확하게 지정합니다. 고유 배율 개수고유 키 개수를 모두 지정하면 고유 키 개수가 우선합니다.

자동 확장 비율
1에서 100 사이의 값을 사용하여 집계 중에 메모리를 확장할 수 있는 비율을 지정합니다. 이 옵션의 기본값은 25%입니다.

참고 항목

데이터 흐름
Integration Services 변환