이 가이드에서는 Google Sheets API를 사용하여 스프레드시트에서 피벗 테이블을 만드는 방법과 이유를 설명합니다.
피벗 테이블이란 무엇인가요?
피벗 테이블을 사용하면 스프레드시트의 데이터를 요약하여 데이터를 자동으로 집계, 정렬, 집계 또는 평균화하고 요약된 결과를 새 테이블에 표시할 수 있습니다. 피벗 테이블은 소스 데이터 세트에 대해 일종의 쿼리와 같은 역할을 합니다. 이 소스 데이터는 스프레드시트의 다른 위치에 있으며 피벗 테이블은 데이터의 처리된 뷰를 나타냅니다.
예를 들어 다음과 같은 판매 데이터 세트를 고려해 보세요.
A | B | C | D | E | F | G | |
1 | 항목 카테고리 | 모델 번호 | 비용 | 수량 | 지역 | 영업 담당자 | 배송 날짜 |
2 | 관람차 | W-24 | 20.50달러 | 4 | 서부 | 베스 | 2016년 3월 1일 |
3 | 문 | D-01X | 15달러 | 2 | 남부 | 아미르 | 2016년 3월 15일 |
4 | 엔진 | ENG-0134 | 100,000원 | 1 | 북 | 카르멘 | 2016년 3월 20일 |
5 | 프레임 | FR-0B1 | 34달러 | 8 | 동부 | Hannah | 2016년 3월 12일 |
6 | 패널 | P-034 | 6달러 | 4 | 북 | 데빈 | 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달러 | 6 | 서부 | 아르만도 | 2016년 3월 13일 |
11 | 프레임 | FR-0B1 | 34달러 | 9 | 남부 | 율리아나 | 2016년 2월 27일 |
12 | 패널 | P-102 | 3달러 | 15 | 서부 | 카르멘 | 2016년 4월 18일 |
13 | 패널 | P-105 | 8.25달러 | 13 | 서부 | 제시 | 2016년 6월 20일 |
14 | 엔진 | ENG-0211 | 283,000원 | 1 | 북 | 아미르 | 2016년 6월 21일 |
15 | 문 | D-01X | 15달러 | 2 | 서부 | 아르만도 | 2016년 7월 3일 |
16 | 프레임 | FR-0B1 | 34달러 | 6 | 남부 | 카르멘 | 7/15/2016 |
17 | 관람차 | W-25 | 20달러 | 8 | 남부 | Hannah | 2016년 5월 2일 |
18 | 관람차 | W-11 | 29달러 | 13 | 동부 | 에리크 | 2016년 5월 19일 |
19 | 문 | D-05 | 17.70달러 | 7 | 서부 | 베스 | 2016년 6월 28일 |
20 | 프레임 | FR-0B1 | 34달러 | 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시간 동안의 사고 데이터 살펴보기
- 현재 선택된 계정에 해당하는 집계 데이터 보기/분석
- 현재 사용자에게 속한 지역의 판매 데이터 검토
예
이 예에서는 데이터 세트에서 피벗 테이블을 만들어 이 페이지 소개에 표시된 '지역별 모델 번호' 보고서를 생성합니다. 추가 예는 피벗 테이블 샘플 페이지를 참고하세요.