이 가이드에서는 Google Sheets API를 사용하여 스프레드시트에서 피벗 테이블을 만드는 방법과 이유를 설명합니다.
피벗 테이블이란?
피벗 테이블은 스프레드시트의 데이터를 요약하는 방법을 제공하며, 데이터를 자동으로 집계, 정렬, 계산하거나 평균을 내고 요약된 결과를 새 테이블에 표시합니다. 피벗 테이블은 소스 데이터 세트를 대상으로 한 일종의 쿼리 역할을 합니다. 이 소스 데이터는 스프레드시트의 다른 위치에 있으며 피벗 테이블은 처리된 데이터 뷰를 제공합니다.
예를 들어 다음 판매 데이터 세트를 고려해 보세요.
| A | B | C | D | E | F | G | |
| 1 | 항목 카테고리 | 모델 번호 | 비용 | 수량 | 지역 | 영업 담당자 | 배송 날짜 |
| 2 | 휠 | W-24 | $20.50 | 4 | 서부 | Beth | 2016년 3월 1일 |
| 3 | 문 | D-01X | $15.00 | 2 | 남부 | Amir | 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.00 | 4 | 북부 | Devyn | 2016년 4월 2일 |
| 7 | 패널 | P-052 | $11.50 | 7 | 동부 | Erik | 2016년 5월 16일 |
| 8 | 휠 | W-24 | $20.50 | 11 | 남부 | Sheldon | 2016년 4월 30일 |
| 9 | 엔진 | ENG-0161 | $330.00 | 2 | 북부 | Jessie | 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 | 서부 | Jessie | 2016년 6월 20일 |
| 14 | 엔진 | ENG-0211 | $283.00 | 1 | 북부 | Amir | 2016년 6월 21일 |
| 15 | 문 | D-01X | $15.00 | 2 | 서부 | Armando | 2016년 7월 3일 |
| 16 | 프레임 | FR-0B1 | $34.00 | 6 | 남부 | Carmen | 2016년 7월 15일 |
| 17 | 휠 | W-25 | $20.00 | 8 | 남부 | Hannah | 2016년 5월 2일 |
| 18 | 휠 | W-11 | $29.00 | 13 | 동부 | Erik | 2016년 5월 19일 |
| 19 | 문 | D-05 | $17.70 | 7 | 서부 | Beth | 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 PivotTable 유형을 사용하면 다음을 지정할 수 있습니다.
- 소스 데이터 범위
- 피벗 테이블의 행을 구성하는 데이터가 있는 하나 이상의 필드
- 피벗 테이블의 열을 구성하는 데이터가 있는 하나 이상의 필드
- 필터링 및 집계 기준
- 피벗 테이블 레이아웃
피벗 테이블 수정 및 삭제
피벗 테이블을 수정하거나 삭제하는 명시적 요청은 없습니다. 대신 다른 셀 콘텐츠로 an updateCells 요청을 사용합니다.
- 피벗 테이블을 수정하려면 수정된 PivotTable 정의를 만들고 새 피벗 테이블을 추가하는 것과 마찬가지로 이를 사용하여 셀을 업데이트합니다.
- 피벗 테이블을 삭제하려면 빈 값으로 셀을 업데이트합니다. 예를 보려면 피벗 테이블 삭제 샘플을 참고하세요.
사용 사례
피벗 테이블은 통계 분석, ERP 애플리케이션, 재무 보고 등 광범위한 분야에서 다양한 용도로 사용됩니다. 일반적인 피벗 테이블 사용 사례에는 다음과 같은 항목이 포함됩니다.
- 지역 및 분기별 총매출
- 직책 및 위치별 평균 급여
- 제품 및 시간대별 문제 수
피벗 테이블의 잠재적 애플리케이션 수는 방대하며 프로그래매틱 방식으로 피벗 테이블을 생성하는 기능은 강력합니다. 예를 들어 다음과 같이 대화형 탐색을 지원하지만 특정 상황에 맞게 조정된 피벗 테이블을 생성할 수 있습니다.
- 최근 24시간 동안의 문제 데이터 탐색
- 선택한 계정에 해당하는 집계된 데이터 보기 또는 분석
- 현재 사용자의 테리토리 판매 데이터 검토
예
이 예에서는 데이터 세트에서 피벗 테이블을 만들어 이 페이지의 소개에 표시된 '지역별 모델 번호' 보고서를 생성합니다. 추가 예는 피벗 테이블 샘플 페이지를 참고하세요.