이 가이드에서는 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 | 북 | 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 | 북 | 아미르 | 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를 사용하여 요약의 구조와 세부정보를 대화형으로 변경할 수 있습니다.
피벗 테이블 작업
피벗 테이블 정의는 시트의 단일 셀과 연결됩니다. 렌더링된 모양은 높이와 너비가 모두 여러 셀이지만 프로그래매틱 방식으로 단일 셀 좌표에 있습니다. 이 셀은 렌더링된 피벗 테이블의 왼쪽 상단 모서리가 되며, 가로 및 세로 범위는 정의에 따라 결정됩니다.
피벗 테이블 추가
피벗 테이블을 추가하려면 updateCells 요청을 제공하여 batchUpdate 메서드를 사용합니다. 이 요청을 사용하여 아래와 같이 셀의 콘텐츠로 PivotTable 정의를 제공합니다.
{
"updateCells": {
"rows": {
"values": [
{
"pivotTable": "MyPivotTable"
}
],
"start": {
"sheetId": "sheetId",
"rowIndex": 0,
"columnIndex": 0
},
"fields": "pivotTable"
}
}
}
이렇게 하면 MyPivotTable
로 설명된 피벗 테이블이 지정된 시트에 배치되고 왼쪽 상단 모서리가 A1
셀에 배치됩니다. (피벗 테이블의 높이와 너비는 동적이며 원점만 지정합니다.)
PivotTable 유형을 사용하면 다음을 지정할 수 있습니다.
- 소스 데이터 범위
- 데이터가 피벗 테이블의 행을 구성하는 하나 이상의 필드
- 데이터가 피벗 테이블의 열을 구성하는 하나 이상의 필드
- 필터링 및 집계 기준
- 피벗 테이블 레이아웃
피벗 테이블 수정 및 삭제
피벗 테이블을 수정하거나 삭제하라는 명시적인 요청은 없습니다. 대신 셀 콘텐츠가 다른 updateCells 요청을 사용하세요.
- 피벗 테이블을 수정하려면 수정된 PivotTable 정의를 만들고 새 피벗 테이블을 추가하는 것과 마찬가지로 이를 사용하여 셀을 업데이트합니다.
- 피벗 테이블을 삭제하려면 빈 값으로 셀을 업데이트합니다. 예를 들어 피벗 테이블 삭제 샘플을 참고하세요.
사용 사례
피벗 테이블은 통계 분석, ERP 애플리케이션, 재무 보고 등 다양한 분야에서 사용됩니다. 기존 피벗 테이블 사용 사례에는 다음과 같은 항목이 포함됩니다.
- 지역 및 분기별 총매출
- 직책 및 위치별 평균 급여
- 제품 및 시간대별 인시던트 수
피벗 테이블의 잠재적 적용 범위는 매우 광범위하며 프로그래매틱 방식으로 생성하는 기능은 매우 강력합니다. 다음과 같은 특정 상황에 맞게 조정된 대화형 탐색을 지원하는 피벗 테이블을 생성할 수 있습니다.
- 최근 24시간 동안의 사고 데이터 살펴보기
- 선택한 계정에 해당하는 집계된 데이터 보기 또는 분석
- 현재 사용자가 속한 지역의 판매 데이터 검토
예
이 예에서는 데이터 세트에서 피벗 테이블을 만들어 이 페이지의 소개에 표시된 '지역별 모델 번호' 보고서를 생성합니다. 추가 예는 피벗 테이블 샘플 페이지를 참고하세요.