Early Access: The content on this website is provided for informational purposes only in connection with pre-General Availability Qlik Products. All content is subject to change and is provided without warranty.
기본적으로 집계 함수는 선택에 의해 정의된 사용 가능한 레코드의 집합을 집계합니다. 집합 분석 표현식으로 대체 레코드 집합을 정의할 수 있습니다.
DISTINCT
표현식 인수에 distinct 한정자가 선행하는 경우 또는 아무 한정자도 사용하지 않는 경우 각 차원 값의 조합에서 하나의 반환 값만 생성됩니다. 이는 집계가 구성되는 일반적인 방식이며, 각 차원 값의 고유 조합이 차트에서 한 줄을 이룹니다.
NODISTINCT
표현식 인수에 nodistinct 한정자가 선행하는 경우 원본 데이터 구조에 따라 각 차원 값의 조합에서 2개 이상의 반환 값이 생성될 수 있습니다. 차원이 하나뿐이라면 소스 데이터에 행이 있으므로 aggr 함수는 동일한 요소 수의 배열을 반환합니다.
Sum, Min, Avg와 같은 기본 집계 함수는 단일 숫자 값을 반환하지만, Aggr() 함수는 다른 집계를 만들 수 있는 임시 계획 결과 집합(가상 테이블)을 만드는 것과 비교할 수 있습니다. 예를 들어, Aggr() 문에서 판매량을 고객과 합산하여 평균 판매량 값을 계산하고 합산된 결과의 평균을 계산하는 것입니다. Avg(TOTAL Aggr(Sum(Sales),Customer)).
팁 메모Aggr() 함수를 계산된 차원에서 사용하여 다양한 수준의 중첩 차트 집계를 생성할 수 있습니다.
제한 사항:
Aggr() 함수의 각 차원은 단일 필드여야 하며 표현식(계산된 차원)이 될 수 없습니다.
구조화된 매개 변수로 차원에 정렬 기준 추가
Aggr 함수 구문에서 StructuredParameter 인수의 기본 형태는 단일 차원입니다. 표현식: Aggr(Sum(Sales, Month))는 매월 판매액의 총액을 찾습니다. 그러나 다른 집계 함수에 포함된 경우 정렬 기준을 사용하지 않으면 예상치 않은 결과가 나올 수 있습니다. 일부 차원은 숫자순이나 사전순 등으로 정렬될 수 있기 때문입니다.
Aggr 함수의 StructuredParameter 인수에서 표현식의 차원에 대한 정렬 기준을 지정할 수 있습니다. 이 방법으로 Aggr 함수에 의해 생성된 가상 테이블에 정렬 기준을 적용할 수 있습니다.
인수 StructuredParameter에는 다음과 같은 구문이 있습니다.
(FieldName, (Sort-type, Ordering))
구조화된 매개 변수는 중첩할 수 있습니다.
(FieldName, (FieldName2, (Sort-type, Ordering)))
Sort-type은 NUMERIC, TEXT, FREQUENCY 또는 LOAD_ORDER일 수 있습니다.
Ordering 유형은 다음과 같이 각 Sort-type과 연결됩니다.
허용되는 Ordering 유형
Sort-type
허용되는 Ordering 유형
NUMERIC
ASCENDING, DESCENDING 또는 REVERSE
TEXT
ASCENDING, A2Z, DESCENDING, REVERSE 또는 Z2A
FREQUENCY
DESCENDING, REVERSE 또는 ASCENDING
LOAD_ORDER
ASCENDING, ORIGINAL, DESCENDING 또는 REVERSE
Ordering 유형 REVERSE와 DESCENDING은 동일합니다.
Sort-type TEXT의 경우 Ordering 유형 ASCENDING과 A2Z가 동일하고, DESCENDING, REVERSE 및 Z2A가 동일합니다.
Sort-type LOAD_ORDER의 경우 Ordering 유형 ASCENDING과 ORIGINAL이 동일합니다.
예: Aggr을 사용한 차트 표현식
차트 표현식 예 1
로드 스크립트
데이터 로드 편집기에서 다음 데이터를 인라인 로드로 로드하여 아래 차트 표현식 예를 만듭니다.
값의 배열은 16, 16, 15, 15, 12, 12, 22, 22, 25, 15, 15 및 19입니다. nodistinct 한정자는 배열이 소스 데이터의 각 행에 대해 하나의 요소를 포함하고 있음을 의미합니다. 각각은 각 Customer 및 Product에 대한 최대 UnitPrice입니다.
차트 표현식 예 3
로드 스크립트
데이터 로드 편집기에서 다음 데이터를 인라인 로드로 로드하여 아래 차트 표현식 예를 만듭니다.
Set vNumberOfOrders = 1000;
OrderLines:
Load
RowNo() as OrderLineID,
OrderID,
OrderDate,
Round((Year(OrderDate)-2005)*1000*Rand()*Rand()*Rand1) as Sales
While Rand()<=0.5 or IterNo()=1;
Load * Where OrderDate<=Today();
Load
Rand() as Rand1,
Date(MakeDate(2013)+Floor((365*4+1)*Rand())) as OrderDate,
RecNo() as OrderID
Autogenerate vNumberOfOrders;
Calendar:
Load distinct
Year(OrderDate) as Year,
Month(OrderDate) as Month,
OrderDate
Resident OrderLines;
차트 표현식
Year와 Month가 차원으로 포함된 Qlik Sense 시트에 테이블 시각화를 만듭니다. 테이블에 다음 표현식을 측정값으로 추가합니다.
이 예에서는 각 연도에 대해 12개월 동안 집계된 값을 시간 오름차순으로 표시하므로 구조화된 매개 변수(숫자, 오름차순)는 Aggr() 표현식의 일부입니다. 구조화된 매개 변수로 두 가지 특정 차원이 필요합니다. Year 및 Month, 정렬된 (1) Year(숫자) 및 (2) Month(숫자)입니다. 이 두 차원은 테이블 또는 차트 시각화에서 사용해야 합니다. 이를 통해 Aggr() 함수의 차원 목록이 시각화에 사용된 개체의 차원과 일치할 수 있습니다.