Ubah hasil query, seleksi grid, atau tabel apa pun di Beekeeper Studio menjadi pivot table, lalu bagikan sebagai workbook Excel, PDF, gambar, Markdown, CSV, HTML, atau JSON.

Direkam di dev harness plugin dengan 5.000 contoh pesanan. Sedikit dipercepat.
Fitur sekilas
| Drag-and-drop | Rows, Columns, Values, dan Filters, seperti pivot table di spreadsheet |
| 11 agregasi | Count, count distinct, sum, average, min, max, median, std deviation, variance, first, last |
| % dari total | Tampilkan nilai apa pun sebagai persentase dari grand total, total baris, atau total kolom |
| Pengelompokan tanggal | Tahun, kuartal, bulan, minggu, hari, jam, bulan dalam tahun, hari dalam minggu |
| Filter dan pengurutan | Pilih nilai dengan pencarian dan jumlah; urutkan A→Z, Z→A, atau berdasarkan nilai |
| Tata letak | Total, subtotal, nilai di kolom atau baris, desimal tetap, heatmap |
| 8 format ekspor | Excel, Excel + data sumber, PDF, PNG, Markdown, CSV, HTML, JSON |
| 3 cara menyalin | Sel spreadsheet, tabel Markdown, gambar |
| Sumber data apa pun | Seleksi grid, query, tabel (dengan filter tab), hingga 100.000 baris |
| Menyatu dengan aplikasi | Mengikuti tema terang atau gelap, menyimpan tata letak tiap tab, berjalan lokal tanpa panggilan jaringan |
Membuat pivot
Setiap kolom data muncul di daftar Fields. Seret field ke sebuah zona, atau klik lalu pilih tujuannya:
- Rows dan Columns mengelompokkan data. Tumpuk beberapa field untuk membuat grup bertingkat, dan seret chip untuk mengubah urutannya. Swap menukar baris dan kolom.
- Values adalah angka di dalam sel. Field yang sama bisa ditambahkan lebih dari sekali, misalnya untuk menampilkan sum dan average-nya berdampingan. Tanpa values, pivot menghitung jumlah baris.
- Filters mempersempit data tanpa menambah baris atau kolom.
Seret chip kembali ke daftar field untuk menghapusnya. Klik chip mana pun untuk melihat opsinya.
Pivot baru dimulai dari tata letak yang disarankan:
- Rows: kolom bertipe kategori, seperti
status,plan, ataucountry. - Columns: tanggal utama, dikelompokkan per hari, bulan, kuartal, atau tahun sesuai rentang data. Tanggal ini masuk ke Rows jika tidak ada kolom kategori.
- Values: sum dari kolom bertipe jumlah, seperti
total,amount, atauquantity, atau jumlah baris jika tidak ada.
Id, kolom yang sebagian besar kosong, teks bebas, dan timestamp seperti updated_at tidak digunakan. Reset layout di bawah Options mengembalikan ke tata letak yang disarankan.
Meringkas nilai
Klik chip value untuk mengubah apa yang ditampilkannya:
| Ringkas dengan | Berlaku untuk |
|---|---|
| Count, count distinct | Kolom apa pun, atau baris jika tidak ada field yang dipilih |
| Sum, average, median, standard deviation, variance | Angka, termasuk teks numerik |
| Minimum, maximum | Angka, tanggal, dan teks |
| First, last | Kolom apa pun |
Show as mengubah nilai menjadi persentase dari grand total, total barisnya, atau total kolomnya.
Pengelompokan, filter, dan pengurutan
Klik chip row, column, atau filter untuk:
- Group dates by tahun, kuartal, bulan, minggu ISO, hari, jam, bulan dalam tahun, atau hari dalam minggu. Tanggal dikelompokkan sesuai yang tertulis di database, jadi zona waktu tidak menggesernya.
- Show values: daftar centang setiap nilai beserta jumlah barisnya, kotak pencarian, All / None, dan “only” untuk menyisakan satu nilai saja. Chip yang difilter akan disorot.
- Sort mengurutkan label A→Z atau Z→A (angka diurutkan secara numerik, null di urutan terakhir), atau berdasarkan besar value pertama, dari terbesar atau terkecil.
Opsi tata letak
Di bawah Options pada sidebar:
- Totals column dan totals row untuk grand total, serta subtotals untuk setiap grup saat baris atau kolom bertingkat.
- Values in kolom atau baris, untuk pivot dengan beberapa value.
- Decimals: otomatis (bilangan bulat tetap bulat, nilai lain 2 desimal, persentase 1) atau tetap 0 hingga 4 desimal.
- Heatmap memberi gradasi warna pada setiap nilai dari yang terkecil hingga terbesar.
Judul di bagian atas menjadi nama tab dan muncul di hasil ekspor.
Ekspor dan berbagi
Export menyimpan file. Hasil ekspor selalu berisi seluruh pivot, meskipun grid di layar hanya menampilkan baris-baris awal dari pivot yang sangat besar.
| Format | Yang Anda dapatkan |
|---|---|
| Excel | Header yang digabung, format angka dan persentase, total tebal, serta baris header dan kolom label yang dibekukan |
| Excel + data sumber | Workbook yang sama dengan sheet kedua berisi baris yang dimuat, siap di-pivot ulang di Excel |
| Landscape jika lebar. Diperkecil agar muat bila memungkinkan, dan pivot yang sangat lebar dipecah menjadi beberapa halaman yang mengulang label baris | |
| Gambar | PNG tajam lengkap dengan judul, sumber, dan filter, siap untuk slide, dokumen, atau chat |
| Markdown | Tabel bergaya GitHub untuk README, issue, dan wiki |
| CSV | Satu baris header dan angka mentah, dengan label baris diulang di setiap baris |
| HTML | Halaman mandiri bergaya yang tetap mempertahankan header yang digabung |
| JSON | Satu objek per baris, dengan key berupa header kolom |
Copy menyalin pivot ke clipboard sebagai sel spreadsheet (bisa di-paste ke Excel atau Google Sheets, termasuk persentase), sebagai tabel Markdown, atau sebagai gambar.
Ini PNG yang dihasilkan ekspor Image untuk pivot di demo:

Membuka pivot table
| Lokasi | Item menu | Data yang digunakan |
|---|---|---|
Dropdown tab baru (di samping +), menu Tools |
Pivot Table | Query atau tabel yang dipilih di plugin |
| Hasil query atau data tabel: klik kanan sel atau sudut kiri atas | Pivot Table from Selection | Sel yang dipilih |
| Header tab query atau menu klik kanan di editor query | Pivot Query Results | Query tersebut, dijalankan ulang dengan batas baris |
| Tabel di sidebar, atau header tab tabel | Open in Pivot Table | Tabel tersebut, dengan filter tab sebagai klausa WHERE |
Untuk mem-pivot seluruh result set dari grid, pilih semua sel terlebih dahulu (klik sudut kiri atas grid atau tekan Ctrl/Cmd+A), lalu klik kanan.
Sumber data bisa diubah kapan saja lewat tombol pensil di sidebar, yang menerima query SQL atau tabel dengan klausa WHERE opsional. SQL di status bar menampilkan query persis yang memuat data.
Batas baris
Pivot dihitung di dalam plugin, jadi data dimuat dengan batas baris: 10.000 baris secara default, bisa diatur hingga 100.000 (pilihan Anda akan diingat).
- Query dibungkus menjadi
SELECT * FROM (<query>) AS pivot_source LIMIT n(TOPdi SQL Server,ROWNUMdi Oracle,FIRSTdi Firebird), sehingga database yang melakukan pembatasan. - Jika database menolak query yang dibungkus (misalnya CTE di SQL Server), akan muncul prompt untuk menjalankan query apa adanya dan menyimpan baris-baris awal. Statement yang mungkin mengubah data tidak pernah dijalankan ulang tanpa konfirmasi.
- Database tanpa subquery SQL (MongoDB, Redis, Cassandra, dan sejenisnya) menjalankan query apa adanya dan menyimpan baris-baris awal.
- Banner muncul saat batas tercapai. Total hanya mencakup baris yang dimuat.
- Saat tab tersimpan dibuka kembali, sumber query menunggu klik Run query alih-alih berjalan otomatis. Seleksi dan tabel langsung dimuat.
Tema terang dan gelap
Plugin ini memakai warna tema Beekeeper Studio dan ikut berganti bersama aplikasi.
| Terang | Gelap |
|---|---|
![]() |
![]() |
Instalasi
Setelah dipublikasikan, instal Pivot Tables dari Tools → Manage Plugins di Beekeeper Studio (5.5 atau lebih baru).
Untuk menginstal build secara manual, download bk-plugin-pivot-tables-<version>.zip dari releases lalu ekstrak ke direktori plugin Beekeeper Studio:
- Linux:
~/.config/beekeeper-studio/plugins/bk-plugin-pivot-tables - macOS:
~/Library/Application Support/beekeeper-studio/plugins/bk-plugin-pivot-tables - Windows:
%APPDATA%\beekeeper-studio\plugins\bk-plugin-pivot-tables
Pengembangan
yarn install
yarn dev # links the project into Beekeeper's plugins directory and serves it with hot reload
yarn harness # runs the plugin in a browser against a fake Beekeeper Studio
yarn test:run # unit tests (Vitest)
yarn typecheck
yarn build # production build into dist/
yarn package # release zip in release/ (after yarn build)
yarn dev menggunakan @beekeeperstudio/vite-plugin, yang membuat symlink proyek ke direktori plugin. Aktifkan plugin di Beekeeper Studio, lalu buka pivot dari salah satu menu di atas.
yarn harness menyajikan dev/host.html di http://localhost:5199/dev/host.html. Harness ini menjalankan plugin di dalam iframe dan menjawab request API-nya dari database SQLite in-memory berisi 5.000 contoh pesanan, sehingga UI dan ekspor bisa dikerjakan tanpa Beekeeper Studio. Parameter query:
command=new-pivot|pivot-selection|pivot-query|pivot-tablememilih entri menu yang ditiru.theme=light|darkmengatur tema.fresh=1menghapus state tab yang tersimpan.prod=1memuat build produksi daridist/(jalankanyarn buildterlebih dahulu).
docs/demo.gif direkam dari harness oleh scripts/record-demo.cjs, jadi bisa direkam ulang setelah ada perubahan UI. Dengan yarn harness berjalan:
npm install -g playwright && npx playwright install chromium # once; also needs ffmpeg
NODE_PATH="$(npm root -g)" node scripts/record-demo.cjs
Struktur proyek
manifest.json Plugin manifest: one view, menu entries for each way of opening it
src/App.vue Startup, data loading, state persistence, export actions
src/components/ Field list, drop zones, menus, pivot table renderer, source editor
src/lib/pivot/ Pivot engine, aggregators, date grouping, grid layout (headers and spans)
src/lib/source/ Loading data: selections, queries and tables with dialect-aware row limits
src/lib/export/ Excel, PDF, image, Markdown, CSV, HTML and JSON exporters
tests/ Vitest specs
dev/ Browser harness that emulates Beekeeper Studio
Mesin pivot menghasilkan grid sel dengan row span dan column span (src/lib/pivot/grid.ts). Tabel di layar dan setiap exporter merender dari grid tersebut, sehingga semuanya menampilkan tata letak yang sama.
Rilis
- Jalankan
bin/make-release.sh. Skrip ini menyarankan versi berikutnya dari tag yang ada, mengaturversiondimanifest.jsondanpackage.json, melakukan commit, lalu push tag yang sesuai sepertiv1.0.0. - Workflow rilis menjalankan tes, build, dan membuat rilis GitHub draft berisi
manifest.jsondanbk-plugin-pivot-tables-<version>.zip. Tinjau lalu publikasikan. - Agar tercantum di Plugin Manager, tambahkan entri ke
plugins.jsondi beekeeper-studio-plugins.
Keterbatasan
- Filter tab tabel diteruskan ke plugin oleh build Beekeeper Studio yang menyertakan perubahan filter
serializeTab. Versi lama membuka seluruh tabel (dengan batas baris); klausaWHEREtetap bisa diketik di editor sumber. - Grid menampilkan 500 baris dan 300 kolom pertama dari pivot yang sangat besar (“Show more” memuat lebih banyak baris). Hasil ekspor selalu mencakup semuanya.
- Gambar mencakup 2.000 baris pertama.
- Ekspor PDF tidak bisa menampilkan karakter CJK, karena tidak didukung oleh font DejaVu yang disematkan.
Lisensi
GPL-3.0. Menyertakan font DejaVu (lisensi Bitstream Vera) untuk ekspor PDF.

