menu
languageDeutsch
save_alt Download

Pivot-Tabellen

Erstelle Pivot-Tabellen aus Abfrageergebnissen, Auswahlen oder Tabellen und exportiere sie als Excel, PDF, Markdown, CSV, HTML oder Bild.

von rathboma Community-Plugin

Readme

Dieser Text stammt von Dritten und wurde automatisch übersetzt. Original auf Englisch lesen

Mach aus jedem Abfrageergebnis, jeder Grid-Auswahl oder Tabelle in Beekeeper Studio eine Pivot-Tabelle und teile sie dann als Excel-Arbeitsmappe, PDF, Bild, Markdown, CSV, HTML oder JSON.

Pivot-Tabelle erstellen: Felder in Zeilen, Spalten und Werte ziehen, Datumswerte nach Jahr gruppieren, Zwischensummen, eine Heatmap und einen Filter hinzufügen, dann exportieren

Aufgenommen in der Dev-Umgebung des Plugins mit 5.000 Beispielbestellungen. Leicht beschleunigt.

Funktionen im Überblick

   
Drag-and-drop Zeilen, Spalten, Werte und Filter, wie bei einer Pivot-Tabelle in der Tabellenkalkulation
11 Aggregationen Anzahl, eindeutige Anzahl, Summe, Durchschnitt, Min, Max, Median, Standardabweichung, Varianz, erster, letzter
% vom Gesamt Zeig jeden Wert als Anteil am Gesamt-, Zeilen- oder Spaltenergebnis
Datumsgruppierung Jahr, Quartal, Monat, Woche, Tag, Stunde, Monat im Jahr, Wochentag
Filter und Sortierung Werte mit Suche und Anzahl auswählen; sortieren A→Z, Z→A oder nach Wert
Layout Summen, Zwischensummen, Werte in Spalten oder Zeilen, feste Dezimalstellen, Heatmap
8 Exportformate Excel, Excel + Quelldaten, PDF, PNG, Markdown, CSV, HTML, JSON
3 Arten zu kopieren Tabellenzellen, Markdown-Tabelle, Bild
Jede Datenquelle Grid-Auswahlen, Abfragen, Tabellen (mit den Filtern des Tabs), bis zu 100.000 Zeilen
Passt sich ein Folgt dem hellen oder dunklen Theme, speichert das Layout jedes Tabs, läuft lokal ohne Netzwerkzugriffe

Pivot erstellen

Jede Spalte der Daten erscheint in der Liste Felder. Zieh ein Feld in einen Bereich oder klick es an und wähle, wohin es soll:

  • Zeilen und Spalten gruppieren die Daten. Stapel mehrere Felder, um Gruppen zu verschachteln, und zieh Chips, um sie neu anzuordnen. Tauschen vertauscht Zeilen und Spalten.
  • Werte sind die Zahlen in den Zellen. Dasselbe Feld kann mehrfach hinzugefügt werden, etwa um Summe und Durchschnitt nebeneinander zu zeigen. Ohne Werte zählt die Pivot-Tabelle die Zeilen.
  • Filter grenzen die Daten ein, ohne eine Zeile oder Spalte hinzuzufügen.

Zieh einen Chip zurück in die Feldliste, um ihn zu entfernen. Klick auf einen Chip für seine Optionen.

Eine neue Pivot-Tabelle startet mit einem vorgeschlagenen Layout:

  • Zeilen: eine kategorieartige Spalte, etwa status, plan oder country.
  • Spalten: das Hauptdatum, gruppiert nach Tag, Monat, Quartal oder Jahr, passend zum Zeitraum der Daten. Gibt es keine Kategoriespalte, landet es stattdessen in Zeilen.
  • Werte: die Summe einer betragsartigen Spalte, etwa total, amount oder quantity, oder eine Zeilenanzahl, wenn es keine gibt.

IDs, größtenteils leere Spalten, Freitext und Zeitstempel wie updated_at werden nicht verwendet. Layout zurücksetzen unter Optionen stellt den Vorschlag wieder her.

Werte zusammenfassen

Klick auf einen Wert-Chip, um zu ändern, was er anzeigt:

Zusammenfassen nach Funktioniert mit
Anzahl, eindeutige Anzahl Jeder Spalte oder Zeilen, wenn kein Feld gewählt ist
Summe, Durchschnitt, Median, Standardabweichung, Varianz Zahlen, auch numerischem Text
Minimum, Maximum Zahlen, Datumswerten und Text
Erster, letzter Jeder Spalte

Anzeigen als macht aus einem Wert einen Prozentsatz der Gesamtsumme, seiner Zeilensumme oder seiner Spaltensumme.

Gruppieren, Filtern und Sortieren

Klick auf einen Zeilen-, Spalten- oder Filter-Chip für:

  • Datum gruppieren nach Jahr, Quartal, Monat, ISO-Woche, Tag, Stunde, Monat im Jahr oder Wochentag. Datumswerte werden so gruppiert, wie sie in der Datenbank stehen, Zeitzonen verschieben sie also nicht.
  • Werte anzeigen: eine Checkliste aller Werte mit ihrer Zeilenanzahl, ein Suchfeld, Alle / Keine und „nur“, um einen einzelnen Wert zu behalten. Gefilterte Chips werden hervorgehoben.
  • Sortieren der Beschriftungen A→Z oder Z→A (Zahlen werden numerisch sortiert, Nullwerte kommen zuletzt) oder nach der Größe des ersten Werts, größte oder kleinste zuerst.

Layout-Optionen

Unter Optionen in der Seitenleiste:

  • Summenspalte und Summenzeile für Gesamtsummen sowie Zwischensummen für jede Gruppe, wenn Zeilen oder Spalten verschachtelt sind.
  • Werte in Spalten oder Zeilen, für Pivot-Tabellen mit mehreren Werten.
  • Dezimalstellen: automatisch (ganze Zahlen bleiben ganz, andere Werte bekommen 2 Stellen, Prozente 1) oder fest 0 bis 4 Stellen.
  • Heatmap schattiert jeden Wert vom kleinsten bis zum größten.

Der Titel oben benennt den Tab und erscheint in Exporten.

Exportieren und teilen

Exportieren speichert eine Datei. Exporte enthalten immer die komplette Pivot-Tabelle, auch wenn das Grid am Bildschirm bei sehr großen nur die ersten Zeilen zeigt.

Format Was du bekommst
Excel Verbundene Kopfzeilen, Zahlen- und Prozentformate, fette Summen sowie fixierte Kopfzeilen und Beschriftungsspalten
Excel + Quelldaten Dieselbe Arbeitsmappe mit einem zweiten Blatt der geladenen Zeilen, bereit zum erneuten Pivotieren in Excel
PDF Querformat, wenn breit. Wird nach Möglichkeit passend verkleinert und teilt sehr breite Pivot-Tabellen auf Seiten auf, die die Zeilenbeschriftungen wiederholen
Bild Ein scharfes PNG mit Titel, Quelle und Filtern, bereit für Folien, Dokumente oder Chat
Markdown Eine Tabelle im GitHub-Stil für READMEs, Issues und Wikis
CSV Eine Kopfzeile und Rohzahlen, mit Zeilenbeschriftungen in jeder Zeile
HTML Eine eigenständige, gestaltete Seite mit verbundenen Kopfzeilen
JSON Ein Objekt pro Zeile, mit Spaltenüberschriften als Schlüssel

Kopieren legt die Pivot-Tabelle in die Zwischenablage, als Tabellenzellen (lässt sich in Excel oder Google Sheets einfügen, inklusive Prozentwerten), als Markdown-Tabelle oder als Bild.

Das ist das PNG, das der Export als Bild für die Pivot-Tabelle aus der Demo erzeugt:

Bildexport der Umsatz-Pivot-Tabelle mit Titel, Quelle und Filterübersicht

Pivot-Tabelle öffnen

Wo Menüeintrag Verwendete Daten
Dropdown für neue Tabs (neben +), Menü Tools Pivot Table Eine im Plugin ausgewählte Abfrage oder Tabelle
Abfrageergebnisse oder Tabellendaten: Rechtsklick auf eine Zelle oder die Ecke oben links Pivot Table from Selection Die ausgewählten Zellen
Kopf des Abfrage-Tabs oder Rechtsklickmenü des Abfrageeditors Pivot Query Results Die Abfrage, erneut ausgeführt mit Zeilenlimit
Tabelle in der Seitenleiste oder Kopf eines Tabellen-Tabs Open in Pivot Table Die Tabelle, mit den Filtern des Tabs als WHERE-Klausel

Um ein ganzes Ergebnis aus dem Grid zu pivotieren, wähle zuerst alle Zellen aus (klick auf die Ecke oben links im Grid oder drück Ctrl/Cmd+A) und mach dann einen Rechtsklick.

Die Datenquelle lässt sich jederzeit über den Stift-Button in der Seitenleiste ändern; er akzeptiert eine SQL-Abfrage oder eine Tabelle mit optionaler WHERE-Klausel. SQL in der Statusleiste zeigt die genaue Abfrage, mit der die Daten geladen wurden.

Zeilenlimits

Pivot-Tabellen werden im Plugin berechnet, daher werden die Daten mit einem Zeilenlimit geladen: standardmäßig 10.000 Zeilen, einstellbar bis 100.000 (die Wahl wird gespeichert).

  • Abfragen werden als SELECT * FROM (<query>) AS pivot_source LIMIT n umschlossen (TOP bei SQL Server, ROWNUM bei Oracle, FIRST bei Firebird), sodass die Datenbank das Limit übernimmt.
  • Lehnt die Datenbank die umschlossene Abfrage ab (etwa eine CTE bei SQL Server), bietet ein Dialog an, die Abfrage unverändert auszuführen und die ersten Zeilen zu behalten. Anweisungen, die Daten ändern könnten, werden nie ohne Bestätigung erneut ausgeführt.
  • Datenbanken ohne SQL-Unterabfragen (MongoDB, Redis, Cassandra und ähnliche) führen die Abfrage unverändert aus und behalten die ersten Zeilen.
  • Ein Banner zeigt an, wenn das Limit erreicht wurde. Summen umfassen nur die geladenen Zeilen.
  • Wird ein gespeicherter Tab wieder geöffnet, warten Abfragequellen auf einen Klick auf Abfrage ausführen, statt automatisch zu laufen. Auswahlen und Tabellen laden sofort.

Helles und dunkles Theme

Das Plugin nutzt die Theme-Farben von Beekeeper Studio und wechselt zusammen mit der App.

Hell Dunkel
Pivot-Tabelle im hellen Theme Pivot-Tabelle im dunklen Theme

Installation

Sobald es veröffentlicht ist, installierst du Pivot Tables über Tools → Manage Plugins in Beekeeper Studio (5.5 oder neuer).

Für eine manuelle Installation lädst du bk-plugin-pivot-tables-<version>.zip von den Releases herunter und entpackst es in das Plugin-Verzeichnis von 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

Entwicklung

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 nutzt @beekeeperstudio/vite-plugin, das das Projekt per Symlink ins Plugin-Verzeichnis einbindet. Aktiviere Plugins in Beekeeper Studio und öffne dann eine Pivot-Tabelle über eines der Menüs oben.

yarn harness stellt dev/host.html unter http://localhost:5199/dev/host.html bereit. Es lädt das Plugin in einem iframe und beantwortet seine API-Anfragen aus einer SQLite-Datenbank im Arbeitsspeicher mit 5.000 Beispielbestellungen, sodass du ohne Beekeeper Studio an UI und Exporten arbeiten kannst. Query-Parameter:

  • command=new-pivot|pivot-selection|pivot-query|pivot-table wählt den zu emulierenden Menüeintrag.
  • theme=light|dark legt das Theme fest.
  • fresh=1 löscht den gespeicherten Tab-Zustand.
  • prod=1 lädt den Produktions-Build aus dist/ (führ zuerst yarn build aus).

docs/demo.gif wird von scripts/record-demo.cjs aus der Harness aufgenommen und kann daher nach UI-Änderungen neu aufgenommen werden. Bei laufendem yarn harness:

npm install -g playwright && npx playwright install chromium   # once; also needs ffmpeg
NODE_PATH="$(npm root -g)" node scripts/record-demo.cjs

Projektstruktur

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

Die Pivot-Engine erzeugt ein Grid aus Zellen mit Zeilen- und Spaltenspannen (src/lib/pivot/grid.ts). Die Tabelle am Bildschirm und jeder Exporter rendern aus diesem Grid, daher zeigen alle dasselbe Layout.

Releases

  1. Führ bin/make-release.sh aus. Es schlägt die nächste Version anhand der vorhandenen Tags vor, setzt version in manifest.json und package.json, committet und pusht einen passenden Tag wie v1.0.0.
  2. Der Release-Workflow testet, baut und erstellt ein GitHub-Release als Entwurf mit manifest.json und bk-plugin-pivot-tables-<version>.zip. Prüf es und veröffentliche es.
  3. Für den Eintrag im Plugin Manager fügst du einen Eintrag zu plugins.json in beekeeper-studio-plugins hinzu.

Einschränkungen

  • Filter von Tabellen-Tabs werden von Beekeeper Studio-Builds an Plugins übergeben, die die serializeTab-Filteränderung enthalten. Ältere Versionen öffnen die ganze Tabelle (mit Zeilenlimit); eine WHERE-Klausel kann trotzdem im Quelleditor eingegeben werden.
  • Das Grid zeigt bei sehr großen Pivot-Tabellen die ersten 500 Zeilen und 300 Spalten („Mehr anzeigen“ lädt weitere Zeilen). Exporte enthalten immer alles.
  • Bilder enthalten die ersten 2.000 Zeilen.
  • PDF-Exporte können keine CJK-Zeichen darstellen, da die eingebettete DejaVu-Schrift sie nicht abdeckt.

Lizenz

GPL-3.0. Enthält die DejaVu-Schriften (Bitstream-Vera-Lizenz) für PDF-Exporte.