집계 변환
적용 대상: 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입니다. CountDistinctScale 및 CountDistinctKeys를 모두 지정하면 CountDistinctKeys가 우선합니다.
값 | 설명 |
---|---|
Unspecified | CountDistinctScale 속성은 사용되지 않습니다. |
낮음 | 집계는 약 500,000개의 고유 값을 작성할 수 있습니다. |
중간 | 집계는 약 5,000,000개의 고유 값을 작성할 수 있습니다. |
높음 | 집계에서 25,000,000개 이상의 고유 값을 작성할 수 있습니다. |
고유 키 개수
필요에 따라 집계에서 쓸 수 있는 고유한 값의 수를 정확하게 지정합니다. CountDistinctScale 및 CountDistinctKeys를 모두 지정하면 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%입니다.