집계 함수
집계 함수로 알려진 함수 제품군은 여러 필드 값을 입력으로 사용하고 그룹당 단일 결과를 반환하는 함수로 구성됩니다. 여기서 그룹화는 차트 차원 또는 스크립트 문에서 group by 절로 정의됩니다.
집계 함수에는 Sum(), Count(), Min(), Max() 등이 있습니다.
대부분의 집계 함수는 데이터 로드 스크립트와 차트 표현식에서 모두 사용할 수 있지만 구문이 다릅니다.
데이터 로드 스크립트에서 집계 함수 사용
집계 함수는 LOAD 및 SELECT 문 내에서만 사용할 수 있습니다.
차트 표현식에서 집계 함수 사용
이러한 내부 집계에 TOTAL 한정자가 포함되지 않는 한 집계 함수의 매개 변수에는 다른 집계 함수가 포함되어서는 안 됩니다. 고급 중첩 집계의 경우 고급 함수 Aggr을 지정된 차원과 함께 사용합니다.
집계 함수는 선택에 의해 정의된 사용 가능한 레코드의 집합을 집계합니다. 하지만 집합 분석 시 집합 표현식을 사용하여 대체 레코드 집합을 정의할 수 있습니다.
집계 계산 방법
집계는 특정 테이블의 레코드를 반복하여 그 안의 레코드를 집계합니다. 예를 들어 Count(<Field>)는 <Field>가 있는 테이블의 레코드 수를 계수합니다. 고유 필드 값만 집계하려는 경우 distinct 절을 사용해야 합니다(예: Count(distinct <Field>)).
집계 함수에 다른 테이블의 필드가 포함된 경우 집계 함수는 필드로 구성된 테이블의 교차곱 레코드를 반복합니다. 이러한 집계 방식을 사용하면 성능이 저하되므로, 특히 대량의 데이터가 있는 경우에는 이러한 집계를 사용하지 않는 것이 좋습니다.
키 필드 집계
집계가 계산되는 방식은 집계에 사용해야 하는 테이블이 명확하지 않아 키 필드를 집계할 수 없음을 의미합니다. 예를 들어 <Key> 필드가 두 테이블을 연결하는 경우 Count(<Key>)는 첫 번째 테이블의 레코드 수를 반환해야 할지 두 번째 테이블의 레코드 수를 반환해야 할지 명확하지 않습니다.
그러나 distinct 절을 사용하면 집계가 잘 정의되어 두 테이블에 연결된 키 필드에 대해 계산될 수 있습니다.
distinct 절 없이 집계 함수 내부에서 키 필드를 사용하면 QlikView는 의미 없는 숫자를 반환합니다. 해결 방법은 distinct 절을 사용하거나 하나의 테이블에만 있는 키 사본을 사용하는 것입니다.
예를 들어 다음 표에서는 ProductID는 테이블 간의 키입니다.
Products 및 Details 테이블 사이의 ProductId 키

Count(ProductID)는 Products 테이블(제품당 하나의 레코드만 있음 – ProductID가 기본 키임)에서 계산되거나 Details 테이블(제품당 여러 레코드가 있을 가능성이 가장 높음)에서 계산될 수 있습니다. 고유한 제품의 수를 계산하려면 Count(distinct ProductID)를 사용해야 합니다. 특정 테이블의 행 수를 계산하려면 키를 사용하지 않아야 합니다.
3개 이상의 테이블에 포함된 키 필드의 집계
distinct 접두사는 최대 2개의 테이블을 연결하는 키 필드에서만 작동합니다. 3개 이상의 테이블에 존재하는 키 필드에 대해 집계를 그룹화하는 경우 필드에 대한 빈도 정보가 필요한 모든 작업은 NULL을 반환합니다. 3개 이상의 테이블을 연결하는 키 필드의 경우 필드의 키가 아닌 복사본을 대신 사용해야 합니다.