피벗 테이블 내 행의 합계
QlikView 일반표는 단순한 행의 합과 계산된 표현식 합계 중에서 합계를 선택할 수 있습니다. QlikView 피벗 테이블에는 이러한 기능이 없습니다. 피벗 테이블 합계는 항상 표현식 합계로 계산됩니다.
일반적으로 두 합계가 다를 경우 행 전체의 합이 유효할 가능성은 상당히 드물기 때문에 이는 좋은 방법입니다.
다음 섹션에서 경고가 발생했는데도 불구하고 행 전체의 합이 원하는 결과로 나타나는 예를 설명합니다.
이 예에서는 학교 경연대회에서 세 명으로 이루어진 팀이 세 과목의 성적에 따라 점수를 얻는다고 가정해 보겠습니다. 이 팀은 그룹 내에서 각 과목마다 가장 높은 점수를 선택한 후 가장 높은 세 점수를 더해 합계를 구할 것입니다. 스크립트에서 다음과 같은 데이터가 로드되었습니다.
Class를 차원으로, Max(Score)를 표현식으로 포함한 일반표에서는 다음과 같은 행의 합계가 생성됩니다.
일반표를 항상 행의 합계가 아니라 표현식 합게로 계산되는 피벗 테이블로 변환하면 문제가 발생합니다.
이 사례에서 원하는 값은 합계 12이며, 5는 당연히 목적에 부합하지 않습니다. 이 경우에는 Aggr 함수를 차원이 아니라 표현식에 사용할 수 있습니다.
원래 표현식을 Aggr 함수로 묶고 주변 차트의 차원도 Aggr 함수의 차원으로 사용합니다. 이제 이 번들을 Sum 집계에 대한 인수로 사용합니다. 그러면 테이블에 원하는 합계가 표시됩니다.
고급 집계 함수의 장점은 각 행에서 단일 값으로만 평가된다는 점입니다. 이는 차원이 원래의 각 데이터 행에 사용 가능한 값을 하나만 가지고 있기 때문입니다. 주변 차트의 내부 차원 및 표현식이 동일하므로 결과적으로 Sum과 고급 집계 함수를 묶지 않아도 각 값이 정확히 동일하게 됩니다.
그러나 전체 행에 대해서는 고급 집계 함수가 차원 필드의 각 값에 대해 하나씩, 총 세 개의 값을 반환합니다. 이러한 값은 Sum 집계를 사용하여 차례로 합산됩니다. 형식적으로는 표현식 합계이지만 결과는 행의 합과 같습니다.