이 가이드에서는 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달러 | 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 | 북 | Amir | 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 | 서부 | Beth | 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시간 동안의 이슈 데이터 살펴보기
- 현재 선택한 계정에 해당하는 집계된 데이터 보기/분석
- 현재 사용자의 지역 판매 데이터 검토
예
이 예에서는 데이터 세트에서 피벗 테이블을 만들어 이 페이지의 시작 부분에 표시된 '지역별 모델 번호' 보고서를 생성합니다. 추가 예시는 피벗 테이블 샘플 페이지를 참고하세요.