데이터 로드 스크립트에서 교차 표 작업
크로스탭은 두 개의 머리글 데이터 직교 목록 사이의 값을 테이블로 나타내는 일반적인 유형의 테이블입니다. 이는 데이터를 다른 데이터 테이블에 연결하려는 경우 선택적 데이터 형식이 아닙니다.
이 항목에서는 크로스탭의 피벗을 해제하는 방법, 즉 데이터 로드 스크립트에서 LOAD 구문의 crosstable 접두사를 사용하여 크로스탭의 일부를 행으로 바꾸는 방법을 설명합니다.
하나의 한정하는 열이 있는 크로스탭 피벗 해제
크로스탭 앞에는 한정하는 여러 개의 열이 오는 경우가 많은데, 이러한 열은 읽기 쉽게 되어 있어야 합니다. 이 경우 하나의 한정하는 열인 Year와 월별 판매 데이터 행렬이 있습니다.
Year | Jan | Feb | Mar | Apr | May | Jun |
---|---|---|---|---|---|---|
2008 | 45 | 65 | 78 | 12 | 78 | 22 |
2009 | 11 | 23 | 22 | 22 | 45 | 85 |
2010 | 65 | 56 | 22 | 79 | 12 | 56 |
2011 | 45 | 24 | 32 | 78 | 55 | 15 |
2012 | 45 | 56 | 35 | 78 | 68 | 82 |
이 테이블을 그대로 Qlik Sense로 로드하면 Year에 해당하는 필드 하나와 각 월에 해당하는 필드가 생성됩니다. 그러나 이러한 결과를 원하는 것은 아닐 것입니다. 3개의 필드를 생성하는 것을 선호할 수도 있습니다.
- 한정하는 열(이 경우 Year)은 위의 테이블에서 녹색으로 표시되었습니다.
- 이 경우 월 이름 Jan - Jun으로 표시되는 특성 필드는 노란색으로 표시되었습니다. 이필드는 적절하게 Month로 이름을 지정할 수 있습니다.
- 데이터 행렬 값으로, 파란색으로 표시되어 있습니다. 이 경우, 판매 데이터를 나타내므로 적절히 Sales로 이름을 지정할 수 있습니다.
LOAD 또는 SELECT 문에 crosstable 접두사를 추가하면 원하는 결과를 얻을 수 있습니다.
crosstable (Month, Sales) LOAD * from ex1.xlsx;
이는 Qlik Sense에서 다음과 같은 테이블을 만듭니다.
Year | Month | Sales |
---|---|---|
2008 | 1월 | 45 |
2008 | 2월 | 65 |
2008 | 3월 | 78 |
2008 | 4월 | 12 |
2008 | 5월 | 78 |
2008 | 6월 | 22 |
2009 | 1월 | 11 |
2009 | 2월 | 23 |
... | ... | ... |
두 개의 한정하는 열이 있는 크로스탭 피벗 해제
이 경우에는 왼쪽에 한정하는 열이 두 개 있고 뒤이어 행렬 열이 나옵니다.
Salesman | Year | Jan | Feb | Mar | Apr | May | Jun |
---|---|---|---|---|---|---|---|
A | 2008 | 45 | 65 | 78 | 12 | 78 | 22 |
A | 2009 | 11 | 23 | 22 | 22 | 45 | 85 |
A | 2010 | 65 | 56 | 22 | 79 | 12 | 56 |
A | 2011 | 45 | 24 | 32 | 78 | 55 | 15 |
A | 2012 | 45 | 56 | 35 | 78 | 68 | 82 |
B | 2008 | 57 | 77 | 90 | 24 | 90 | 34 |
B | 2009 | 23 | 35 | 34 | 34 | 57 | 97 |
B | 2010 | 77 | 68 | 34 | 91 | 24 | 68 |
B | 2011 | 57 | 36 | 44 | 90 | 67 | 27 |
B | 2012 | 57 | 68 | 47 | 90 | 80 | 94 |
한정하는 열의 수는 다음과 같이 crosstable 접두사의 세 번째 파라메타로 지정할 수 있습니다.
crosstable (Month, Sales, 2) LOAD * from ex2.xlsx;
이는 Qlik Sense에서 다음과 같은 결과를 만듭니다.
Salesman | Year | Month | Sales |
---|---|---|---|
A | 2008 | 1월 | 45 |
A | 2008 | 2월 | 65 |
A | 2008 | 3월 | 78 |
A | 2008 | 4월 | 12 |
A | 2008 | 5월 | 78 |
A | 2008 | 6월 | 22 |
A | 2009 | 1월 | 11 |
A | 2009 | 2월 | 23 |
... | ... | ... | ... |