TL;DR
Klausa PIVOT di fungsi QUERY Google Sheets ngubah nilai unik sebuah kolom jadi header kolom baru, bikin tabel silang. Contoh: =QUERY(A1:C, "SELECT B, SUM(C) GROUP BY B PIVOT A"). Hasilnya mirip pivot table, tapi berupa rumus yang update otomatis tiap ada data baru.
Klausa PIVOT di fungsi QUERY Google Sheets ngubah nilai baris jadi kolom, bikin tabel silang otomatis. Satu rumus bisa ngasih ringkasan dua dimensi yang biasanya butuh pivot table.
Bedanya sama pivot table biasa: hasil QUERY PIVOT itu rumus. Dia update sendiri tiap data baru masuk, tanpa kamu refresh atau atur ulang.
Di artikel ini kamu bakal belajar cara nulis PIVOT, gabungin sama GROUP BY, filter datanya, sampai kesalahan yang sering bikin hasilnya berantakan.
PIVOT ngambil nilai unik dari sebuah kolom lalu jadiin masing-masing sebagai header kolom baru. Jadi data yang tadinya memanjang ke bawah berubah jadi melebar ke samping. Hasilnya tabel silang, di mana baris satu dimensi dan kolom dimensi lain, ketemu di sel berisi angka ringkasan.
Ini pasangan alami dari QUERY GROUP BY. GROUP BY ngeringkas ke bawah, PIVOT ngebentangin ke samping.
=QUERY(data, "SELECT kolom_baris, FUNGSI(nilai) GROUP BY kolom_baris PIVOT kolom_kolom", 1)
Kolom yang disebut di PIVOT bakal jadi header. Tiap nilai uniknya jadi satu kolom sendiri.
Anggap ada data: kolom A bulan, kolom B kategori, kolom C total. Kamu mau baris per bulan, kolom per kategori.
=QUERY(A1:C, "SELECT A, SUM(C) GROUP BY A PIVOT B", 1)
Hasilnya: tiap baris satu bulan, tiap kolom satu kategori, dan selnya total transaksi bulan-kategori itu. Kategori yang tadinya nilai di kolom B sekarang jadi header kolom.
Aturan pentingnya: kolom di GROUP BY jadi baris, kolom di PIVOT jadi kolom, dan yang di tengah wajib fungsi agregasi kayak SUM atau COUNT.
Tambah WHERE buat nyaring baris dulu. Urutannya wajib: SELECT, WHERE, GROUP BY, PIVOT.
=QUERY(A1:C, "SELECT A, SUM(C) WHERE C > 0 GROUP BY A PIVOT B", 1)
Kalau urutan klausa kebalik, QUERY langsung error. Ingat pola ini persis kayak SQL, cuma PIVOT-nya tambahan khas Google Sheets.
| Aspek | QUERY PIVOT | Pivot Table |
|---|---|---|
| Bentuk | Rumus di sel | Objek terpisah |
| Update | Otomatis | Perlu refresh |
| Fleksibel drag | Nggak | Ya |
| Cocok buat | Ringkasan tetap yang selalu fresh | Eksplorasi cepat |
Di dataset toko_berkah ngulikdata ada 14.880 transaksi setahun dengan kolom bulan, kategori, dan nilai. Owner mau satu tabel: 12 baris bulan, 6 kolom kategori, isinya total omzet.
=QUERY(transaksi!A1:C,
"SELECT A, SUM(C)
GROUP BY A
PIVOT B", 1)
Dari satu rumus ini, ketauan pola menarik. Kategori Minuman selalu jadi kontributor teratas tiap bulan kecuali Desember, di mana Makanan Ringan naik ke puncak, kemungkinan gara-gara musim liburan. Pola bulanan kayak gini susah keliatan di data mentah 14.880 baris, tapi langsung nongol di tabel silang. Dan karena ini rumus, tabelnya update sendiri tiap transaksi baru dicatat.
GROUP BY ngeringkas data ke bawah, satu baris per grup. PIVOT ngambil satu kolom dan ngebentangin nilainya jadi kolom-kolom baru, bikin tabel silang dua dimensi. Kamu sering pakai keduanya bareng: GROUP BY buat baris, PIVOT buat kolom. Kalau cuma butuh ringkasan satu dimensi, GROUP BY cukup. Kalau butuh silang dua dimensi, tambah PIVOT.
Paling sering karena nilai di tengah ga dibungkus fungsi agregasi, atau urutan klausanya salah. PIVOT harus jadi klausa terakhir, setelah GROUP BY. Pastikan polanya SELECT, WHERE, GROUP BY, PIVOT. Cek juga kolom yang kamu pivot beneran ada di range sumber.
PIVOT cuma nerima satu kolom buat dibentangin jadi header. Tapi kamu bisa taruh dua kolom di GROUP BY buat baris yang lebih detail. Kalau butuh dua dimensi di header sekaligus, biasanya lebih gampang pakai pivot table biasa yang mendukung banyak level. QUERY PIVOT paling pas buat satu kolom baris dan satu kolom silang.
Sel kosong muncul kalau kombinasi baris-kolom tertentu ga ada datanya. Kamu bisa bungkus hasilnya pakai IFERROR atau ganti kosong jadi 0 lewat pengaturan tampilan. Tapi kalau kekosongannya banyak banget, itu tanda kolom yang kamu pivot terlalu banyak nilai uniknya. Pertimbangin ganti kolom pivot yang lebih ringkas.
QUERY PIVOT ngubah nilai baris jadi kolom, bikin tabel silang otomatis dalam satu rumus. Ingat polanya: GROUP BY buat baris, PIVOT buat kolom, agregasi di tengah, dan PIVOT selalu di akhir.
Karena berupa rumus, tabelnya selalu ikut data terbaru tanpa refresh. Pas buat laporan rutin yang harus fresh.
Mau lengkapin skill QUERY kamu? Baca QUERY GROUP BY Google Sheets dan latihan di NgulikSheet. Sintaks lengkap ada di dokumentasi fungsi QUERY dari Google.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
SUMIFS ribet kalau kriterianya banyak dan sering ganti. Rumus database Excel kayak DSUM baca kriteria dari sel terpisah, jadi kamu tinggal ubah tabel kecil tanpa nyentuh rumus.
DATEDIF ngasih umur bulat, tapi kadang kamu butuh angka desimal kayak 27,6 tahun buat hitung masa kerja atau bunga. YEARFRAC ngasih pecahan tahun dengan presisi.
Cara pakai rumus EDATE Excel buat menambah atau mengurangi bulan dari sebuah tanggal. Cocok buat jatuh tempo, tanggal kedaluwarsa, dan jadwal cicilan UMKM.