이 가이드에서는 Google Sheets API를 사용하여 스프레드시트에서 피벗 테이블을 만드는 방법과 그 이유에 대해 설명합니다.
피벗 테이블이란 무엇인가요?
피벗 테이블은 스프레드시트의 데이터를 요약하는 한 방법이며, 데이터를 자동으로 취합, 정렬, 집계 또는 평균을 구하면서 요약된 결과를 새 테이블에 표시합니다. 피벗 테이블은 소스 데이터 세트에 대해 수행되는 일종의 쿼리입니다. 이 소스 데이터는 스프레드시트의 다른 특정 위치에 있으며, 피벗 테이블에는 처리된 데이터 뷰가 표시됩니다.
예를 들어 다음과 같은 판매 데이터 세트를 고려해 보겠습니다.
A | B | C | D | E | F | G | |
1 | 항목 카테고리 | 모델 번호 | 비용 | 수량 | 지역 | 영업 담당자 | 배송 날짜 |
2 | 휠 | W-24 | $20.50 | 4 | 서부 | 베스 | 2016년 3월 1일 |
3 | 문 | D-01X | $15.00 | 2 | 남부 | 아미르 | 2016년 3월 15일 |
4 | 엔진 | ENG-0134 | $100.00 | 1 | 북 | Carmen | 2016년 3월 20일 |
5 | 프레임 | FR-0B1 | $34.00 | 8 | 동부 | Hannah | 2016년 3월 12일 |
6 | 패널 | P-034 | 6달러 | 4 | 북 | Devyn | 2016년 4월 2일 |
7 | 패널 | P-052 | $11.50 | 7 | 동부 | 에리크 | 2016년 5월 16일 |
8 | 휠 | W-24 | $20.50 | 11 | 남부 | Sheldon | 2016년 4월 30일 |
9 | 엔진 | ENG-0161 | $330.00 | 2 | 북 | 제시 | 2016년 7월 2일 |
10 | 문 | D-01Y | $29.00 | 6 | 서부 | Armando | 2016년 3월 13일 |
11 | 프레임 | FR-0B1 | $34.00 | 9 | 남부 | Yuliana | 2016년 2월 27일 |
12 | 패널 | P-102 | $3.00 | 15 | 서부 | Carmen | 2016년 4월 18일 |
13 | 패널 | P-105 | $8.25 | 13 | 서부 | 제시 | 2016년 6월 20일 |
14 | 엔진 | ENG-0211 | $283.00 | 1 | 북 | 아미르 | 2016년 6월 21일 |
15 | 문 | D-01X | $15.00 | 2 | 서부 | Armando | 2016년 7월 3일 |
16 | 프레임 | FR-0B1 | $34.00 | 6 | 남부 | Carmen | 7/15/2016 |
17 | 휠 | W-25 | $20.00 | 8 | 남부 | Hannah | 2016년 5월 2일 |
18 | 휠 | W-11 | $29.00 | 13 | 동부 | 에리크 | 2016년 5월 19일 |
19 | 문 | D-05 | $17.70 | 7 | 서부 | 베스 | 2016년 6월 28일 |
20 | 프레임 | FR-0B1 | $34.00 | 8 | 북 | Sheldon | 2016년 3월 30일 |
피벗 테이블을 사용하면 각 지역에서 판매된 각 모델 번호의 수를 보여주는 보고서를 만들 수 있습니다.
이 피벗 테이블을 생성하는 데 사용된 소스 코드는 아래의 예 섹션을 참고하세요.
피벗 테이블이 스프레드시트에 배치되었다면, 사용자가 Sheets UI를 사용하여 요약 구조와 세부정보를 대화형 방식으로 변경할 수 있습니다.
피벗 테이블 작업
피벗 테이블 정의는 시트의 단일 셀과 연결됩니다. 렌더링된 피벗 테이블은 높이 및 너비 방향의 많은 셀들로 구성되지만, 프로그래매틱 방식으로 단일 셀 좌표에 위치합니다. 이 셀은 렌더링된 피벗 테이블의 왼쪽 위 모서리가 되며, 가로 및 세로 범위는 정의에 따라 결정됩니다.
피벗 테이블 추가
피벗 테이블을 추가하려면 batchUpdate 메서드를 사용하여 updateCells 요청을 제공합니다. 이 요청을 사용하여 PivotTable 정의를 셀의 콘텐츠로 제공할 수 있습니다(아래 참조).
"updateCells": {
"rows": {
"values": [{
"pivotTable": MyPivotTable
},
"start": {
"sheetId": sheetId,
"rowIndex": 0,
"columnIndex": 0
},
"fields": "pivotTable"
}
이 코드는 MyPivotTable
로 표시된 피벗 테이블을 지정된 시트에 배치하며, 왼쪽 위 모서리가 A1
셀이 됩니다. (피벗 테이블의 높이와 너비는 동적이므로 원점만 지정하면 됩니다.)
PivotTable 유형을 사용하여 다음을 지정할 수 있습니다.
- 소스 데이터 범위
- 데이터가 피벗 테이블의 행을 구성하는 하나 이상의 필드
- 데이터가 피벗 테이블의 열을 구성하는 하나 이상의 필드
- 필터링 및 집계 기준
- 피벗 테이블 레이아웃
피벗 테이블 수정 및 삭제
피벗 테이블을 수정하거나 삭제하는 명시적 요청은 없습니다. 대신 다른 셀 내용과 함께 updateCells 요청을 사용하세요.
- 피벗 테이블을 수정하려면 새 피벗 테이블을 추가하는 것과 마찬가지로 수정된 PivotTable 정의를 만들고 이 정의를 사용하여 셀을 업데이트합니다.
- 피벗 테이블을 삭제하려면 셀을 빈 값으로 업데이트합니다. 예를 보려면 피벗 테이블 삭제 샘플을 참고하세요.
사용 사례
피벗 테이블의 용도는 통계 분석, ERP 애플리케이션, 재무 보고 등을 비롯한 광범위한 분야에서 매우 다양합니다. 기존 피벗 테이블의 사용 사례는 다음과 같습니다.
- 지역 및 분기별 총 판매
- 직책 및 위치별 평균 급여
- 제품 및 시간대별 이슈 수
피벗 테이블의 응용 분야는 방대하며, 프로그래매틱 방식으로 피벗 테이블을 생성하는 기능은 매우 강력합니다. 대화형 탐색을 지원하지만 특정 상황에 따라 달라지는 맞춤형 피벗 테이블을 생성할 수 있습니다. 예:
- 최근 24시간 동안의 이슈 데이터 살펴보기
- 현재 선택된 계정에 해당하는 집계 데이터 보기/분석
- 현재 사용자가 있는 지역의 판매 데이터 검토
예
이 예에서는 데이터 세트에서 피벗 테이블을 만들어 이 페이지의 시작 부분에 표시된 '지역별 모델 번호' 보고서를 생성합니다. 추가 예시는 피벗 테이블 샘플 페이지를 참고하세요.