Z tego przewodnika dowiesz się, jak i dlaczego używać Google Sheets API do tworzenia tabel przestawnych w arkuszach kalkulacyjnych.
Czym jest tabela przestawna?
Tabele przestawne umożliwiają podsumowywanie danych w arkuszu kalkulacyjnym, automatyczne agregowanie, sortowanie, zliczanie lub uśrednianie danych oraz wyświetlanie podsumowanych wyników w nowej tabeli. Tabela przestawna działa jak zapytanie do źródłowego zbioru danych. Te dane źródłowe znajdują się w innym miejscu arkusza kalkulacyjnego, a tabela przestawna przedstawia przetworzony widok danych.
Weźmy na przykład ten zbiór danych o sprzedaży:
| A | B | C | D | E | F | G | |
| 1 | Kategoria produktu | Numer modelu | Koszt | Ilość | Region | Pracownik działu sprzedaży | Termin wysyłki |
| 2 | Diabelski młyn | W-24 | 20,50 USD | 4 | zachód | Beth | 1.03.2016 |
| 3 | Drzwi | D-01X | 15,00 USD | 2 | południe | Amir | 15.03.2016 |
| 4 | Wyszukiwarka | ENG-0134 | 100,00 USD | 1 | północ | Carmen | 20.03.2016 |
| 5 | Rama | FR-0B1 | 34,00 USD | 8 | wschód | Hannah | 12.03.2016 |
| 6 | Panel | P-034 | 6,00 USD | 4 | północ | Devyn | 2.04.2016 |
| 7 | Panel | P-052 | 11,50 USD | 7 | wschód | Erik | 16.05.2016 |
| 8 | Diabelski młyn | W-24 | 20,50 USD | 11 | południe | Sheldon | 30.04.2016 |
| 9 | Wyszukiwarka | ENG-0161 | 330,00 USD | 2 | północ | Jessie | 2.07.2016 |
| 10 | Drzwi | D-01Y | 29,00 USD | 6 | zachód | Armando | 13.03.2016 |
| 11 | Rama | FR-0B1 | 34,00 USD | 9 | południe | Yuliana | 27.02.2016 |
| 12 | Panel | P-102 | 3,00 USD | 15 | zachód | Carmen | 18.04.2016 |
| 13 | Panel | P-105 | 8,25 USD | 13 | zachód | Jessie | 20.06.2016 |
| 14 | Wyszukiwarka | ENG-0211 | 283,00 USD | 1 | północ | Amir | 21.06.2016 |
| 15 | Drzwi | D-01X | 15,00 USD | 2 | zachód | Armando | 3.07.2016 |
| 16 | Rama | FR-0B1 | 34,00 USD | 6 | południe | Carmen | 15.07.2016 |
| 17 | Diabelski młyn | W-25 | 20,00 USD | 8 | południe | Hannah | 2.05.2016 |
| 18 | Diabelski młyn | W-11 | 29,00 USD | 13 | wschód | Erik | 19.05.2016 |
| 19 | Drzwi | D-05 | 17,70 USD | 7 | zachód | Beth | 28.06.2016 |
| 20 | Rama | FR-0B1 | 34,00 USD | 8 | północ | Sheldon | 30.03.2016 |
Za pomocą tabeli przestawnej możesz utworzyć raport pokazujący, ile modeli każdego numeru zostało sprzedanych w poszczególnych regionach:

Kod źródłowy użyty do wygenerowania tej tabeli przestawnej znajdziesz w sekcji Przykład poniżej.
Gdy tabela przestawna zostanie umieszczona w arkuszu kalkulacyjnym, użytkownicy mogą interaktywnie zmieniać strukturę i szczegóły podsumowania za pomocą interfejsu Arkuszy.
Praca z tabelami przestawnymi
Definicja tabeli przestawnej jest powiązana z jedną komórką w arkuszu. Chociaż jej renderowany wygląd to wiele komórek zarówno na wysokość, jak i na szerokość, programowo znajduje się ona we współrzędnych jednej komórki. Ta komórka staje się lewym górnym rogiem renderowanej tabeli przestawnej, a jej zasięg poziomy i pionowy jest określany przez jej definicję.
Dodawanie tabeli przestawnej
Aby dodać tabelę przestawną, użyj metody batchUpdate, podając żądanie updateCells. Za pomocą tego żądania możesz podać definicję PivotTable jako zawartość komórki, jak pokazano poniżej:
{
"updateCells": {
"rows": {
"values": [
{
"pivotTable": "MyPivotTable"
}
],
"start": {
"sheetId": "sheetId",
"rowIndex": 0,
"columnIndex": 0
},
"fields": "pivotTable"
}
}
}
Spowoduje to umieszczenie tabeli przestawnej opisanej przez MyPivotTable w określonym arkuszu, a jej lewy górny róg będzie znajdować się w komórce A1. (Wysokość i szerokość tabeli przestawnej są dynamiczne. Określasz tylko punkt początkowy).
Typ PivotTable umożliwia określenie:
- zakresu danych źródłowych,
- co najmniej 1 pola, którego dane będą tworzyć wiersze tabeli przestawnej,
- co najmniej 1 pola, którego dane będą tworzyć kolumny tabeli przestawnej,
- kryteriów filtrowania i agregacji,
- układu tabeli przestawnej.
Modyfikowanie i usuwanie tabel przestawnych
Nie ma wyraźnych żądań modyfikowania ani usuwania tabeli przestawnej. Zamiast tego użyj żądania updateCells z różną zawartością komórek:
- Aby zmodyfikować tabelę przestawną, utwórz zmodyfikowaną PivotTable tabeli przestawnej i zaktualizuj komórkę za jej pomocą, podobnie jak w przypadku dodawania nowej tabeli przestawnej.
- Aby usunąć tabelę przestawną, zaktualizuj komórkę za pomocą pustych wartości. Przykład znajdziesz w sekcji Usuwanie tabeli przestawnej.
Przypadki użycia
Tabele przestawne mają wiele zastosowań w różnych obszarach, m.in. w analizie statystycznej, aplikacjach ERP, raportowaniu finansowym i innych. Klasyczne przypadki użycia tabel przestawnych obejmują m.in.:
- łączną sprzedaż według regionu i kwartału,
- średnią płacę według stanowiska i lokalizacji,
- liczbę incydentów według produktu i pory dnia.
Liczba potencjalnych zastosowań tabel przestawnych jest ogromna, a możliwość ich generowania programowo jest bardzo przydatna. Możesz generować tabele przestawne, które obsługują interaktywne eksplorowanie, ale są dostosowane do konkretnych okoliczności, np.:
- przeglądanie danych o incydentach z ostatnich 24 godzin,
- wyświetlanie lub analizowanie zagregowanych danych odpowiadających wybranemu kontu,
- sprawdzanie danych o sprzedaży na obszarach należących do bieżącego użytkownika.
Przykład
Ten przykład tworzy tabelę przestawną na podstawie zbioru danych, aby wygenerować raport „Numer modelu według regionu” pokazany we wstępie do tej strony. Dodatkowe przykłady znajdziesz na stronie z przykładami tabel przestawnych.