menu
languageΕλληνικά
save_alt Λήψη

Pivot Tables

Φτιάξε pivot tables από αποτελέσματα query, επιλογές ή πίνακες και κάνε τα εξαγωγή σε Excel, PDF, Markdown, CSV, HTML ή εικόνα.

από rathboma Community plugin

Readme

Αυτό το κείμενο γράφτηκε από τρίτους και μεταφράστηκε αυτόματα. Διάβασε το πρωτότυπο στα αγγλικά

Μετέτρεψε οποιοδήποτε αποτέλεσμα query, επιλογή στο grid ή πίνακα στο Beekeeper Studio σε pivot table και μοιράσου το ως Excel workbook, PDF, εικόνα, Markdown, CSV, HTML ή JSON.

Δημιουργία συγκεντρωτικού πίνακα: σύρσιμο πεδίων σε γραμμές, στήλες και τιμές, ομαδοποίηση ημερομηνιών ανά έτος, προσθήκη μερικών συνόλων, heatmap και φίλτρου, και μετά εξαγωγή

Καταγράφηκε στο dev harness του plugin με 5.000 δείγματα παραγγελιών. Ελαφρώς επιταχυμένο.

Οι λειτουργίες με μια ματιά

   
Drag-and-drop Γραμμές, Στήλες, Τιμές και Φίλτρα, όπως σε pivot table υπολογιστικού φύλλου
11 συναθροίσεις Πλήθος, πλήθος μοναδικών, άθροισμα, μέσος όρος, ελάχιστο, μέγιστο, διάμεσος, τυπική απόκλιση, διακύμανση, πρώτο, τελευταίο
% του συνόλου Δείξε οποιαδήποτε τιμή ως ποσοστό του γενικού συνόλου, της γραμμής ή της στήλης
Ομαδοποίηση ημερομηνιών Έτος, τρίμηνο, μήνας, εβδομάδα, ημέρα, ώρα, μήνας του έτους, ημέρα της εβδομάδας
Φίλτρα και ταξινόμηση Διάλεξε τιμές με αναζήτηση και πλήθη· ταξινόμηση A→Z, Z→A ή κατά τιμή
Διάταξη Σύνολα, μερικά σύνολα, τιμές σε στήλες ή γραμμές, σταθερά δεκαδικά, heatmap
8 μορφές εξαγωγής Excel, Excel + δεδομένα πηγής, PDF, PNG, Markdown, CSV, HTML, JSON
3 τρόποι αντιγραφής Κελιά υπολογιστικού φύλλου, πίνακας Markdown, εικόνα
Οποιαδήποτε πηγή δεδομένων Επιλογές στο grid, queries, πίνακες (με τα φίλτρα της καρτέλας), έως 100.000 γραμμές
Ταιριάζει απόλυτα Ακολουθεί το φωτεινό ή σκοτεινό θέμα, αποθηκεύει τη διάταξη κάθε καρτέλας, τρέχει τοπικά χωρίς κλήσεις δικτύου

Δημιουργία pivot

Κάθε στήλη των δεδομένων εμφανίζεται στη λίστα Fields. Σύρε ένα πεδίο σε μια ζώνη ή κάνε κλικ πάνω του και διάλεξε πού θα πάει:

  • Οι Rows και Columns ομαδοποιούν τα δεδομένα. Στοίβαξε πολλά πεδία για εμφωλευμένες ομάδες και σύρε τα chips για να αλλάξεις τη σειρά τους. Το Swap αντιμεταθέτει γραμμές και στήλες.
  • Οι Values είναι οι αριθμοί στα κελιά. Μπορείς να προσθέσεις το ίδιο πεδίο περισσότερες από μία φορές, για παράδειγμα για να δείξεις το άθροισμα και τον μέσο όρο του δίπλα-δίπλα. Χωρίς τιμές, το pivot μετράει γραμμές.
  • Τα Filters περιορίζουν τα δεδομένα χωρίς να προσθέτουν γραμμή ή στήλη.

Σύρε ένα chip πίσω στη λίστα πεδίων για να το αφαιρέσεις. Κάνε κλικ σε οποιοδήποτε chip για τις επιλογές του.

Ένα νέο pivot ξεκινά από μια προτεινόμενη διάταξη:

  • Rows: μια στήλη τύπου κατηγορίας, όπως status, plan ή country.
  • Columns: η κύρια ημερομηνία, ομαδοποιημένη ανά ημέρα, μήνα, τρίμηνο ή έτος ανάλογα με το εύρος των δεδομένων. Μπαίνει στις Rows όταν δεν υπάρχει στήλη κατηγορίας.
  • Values: το άθροισμα μιας στήλης τύπου ποσού, όπως total, amount ή quantity, ή πλήθος γραμμών όταν δεν υπάρχει τέτοια.

Τα ids, οι σχεδόν κενές στήλες, το ελεύθερο κείμενο και τα timestamps όπως updated_at δεν χρησιμοποιούνται. Το Reset layout στα Options επαναφέρει την πρόταση.

Σύνοψη τιμών

Κάνε κλικ σε ένα chip τιμής για να αλλάξεις τι δείχνει:

Σύνοψη κατά Λειτουργεί σε
Πλήθος, πλήθος μοναδικών Οποιαδήποτε στήλη, ή γραμμές όταν δεν έχει επιλεγεί πεδίο
Άθροισμα, μέσος όρος, διάμεσος, τυπική απόκλιση, διακύμανση Αριθμούς, συμπεριλαμβανομένου αριθμητικού κειμένου
Ελάχιστο, μέγιστο Αριθμούς, ημερομηνίες και κείμενο
Πρώτο, τελευταίο Οποιαδήποτε στήλη

Το Show as μετατρέπει μια τιμή σε ποσοστό του γενικού συνόλου, του συνόλου της γραμμής ή του συνόλου της στήλης της.

Ομαδοποίηση, φιλτράρισμα και ταξινόμηση

Κάνε κλικ σε ένα chip γραμμής, στήλης ή φίλτρου για:

  • Group dates by έτος, τρίμηνο, μήνα, εβδομάδα ISO, ημέρα, ώρα, μήνα του έτους ή ημέρα της εβδομάδας. Οι ημερομηνίες ομαδοποιούνται όπως είναι γραμμένες στη βάση δεδομένων, οπότε οι ζώνες ώρας δεν τις μετατοπίζουν.
  • Show values: μια λίστα επιλογής με κάθε τιμή και το πλήθος γραμμών της, πεδίο αναζήτησης, All / None και «only» για να κρατήσεις μία μόνο τιμή. Τα φιλτραρισμένα chips επισημαίνονται.
  • Sort ετικέτες A→Z ή Z→A (οι αριθμοί ταξινομούνται αριθμητικά, τα null πάνε τελευταία) ή κατά το μέγεθος της πρώτης τιμής, από τη μεγαλύτερη ή τη μικρότερη.

Επιλογές διάταξης

Στα Options της πλαϊνής μπάρας:

  • Totals column και totals row για γενικά σύνολα, και subtotals για κάθε ομάδα όταν οι γραμμές ή οι στήλες είναι εμφωλευμένες.
  • Values in στήλες ή γραμμές, για pivots με πολλές τιμές.
  • Decimals: αυτόματα (οι ακέραιοι μένουν ακέραιοι, οι άλλες τιμές με 2 δεκαδικά, τα ποσοστά με 1) ή σταθερά από 0 έως 4 δεκαδικά.
  • Το Heatmap χρωματίζει κάθε τιμή από τη μικρότερη ως τη μεγαλύτερη.

Ο τίτλος στην κορυφή ονομάζει την καρτέλα και εμφανίζεται στις εξαγωγές.

Εξαγωγή και κοινοποίηση

Το Export αποθηκεύει ένα αρχείο. Οι εξαγωγές περιέχουν πάντα ολόκληρο το pivot, ακόμα κι όταν το grid στην οθόνη δείχνει μόνο τις πρώτες γραμμές ενός πολύ μεγάλου.

Μορφή Τι παίρνεις
Excel Συγχωνευμένες κεφαλίδες, μορφές αριθμών και ποσοστών, έντονα σύνολα και παγωμένες γραμμές κεφαλίδων και στήλες ετικετών
Excel + δεδομένα πηγής Το ίδιο workbook με ένα δεύτερο φύλλο με τις φορτωμένες γραμμές, έτοιμο για νέο pivot στο Excel
PDF Οριζόντιο όταν είναι φαρδύ. Συρρικνώνεται για να χωρέσει όπου γίνεται και χωρίζει πολύ φαρδιά pivots σε σελίδες που επαναλαμβάνουν τις ετικέτες γραμμών
Εικόνα Ένα καθαρό PNG με τον τίτλο, την πηγή και τα φίλτρα, έτοιμο για παρουσιάσεις, έγγραφα ή chat
Markdown Ένας πίνακας σε στιλ GitHub για READMEs, issues και wikis
CSV Μία γραμμή κεφαλίδας και ακατέργαστοι αριθμοί, με τις ετικέτες γραμμών επαναλαμβανόμενες σε κάθε γραμμή
HTML Μια αυτόνομη μορφοποιημένη σελίδα που διατηρεί τις συγχωνευμένες κεφαλίδες
JSON Ένα αντικείμενο ανά γραμμή, με κλειδιά τις κεφαλίδες στηλών

Το Copy βάζει το pivot στο πρόχειρο ως κελιά υπολογιστικού φύλλου (επικολλάται σε Excel ή Google Sheets, μαζί με τα ποσοστά), ως πίνακα Markdown ή ως εικόνα.

Αυτό είναι το PNG που παράγει η εξαγωγή Image για το pivot του demo:

Εξαγωγή εικόνας του συγκεντρωτικού πίνακα εσόδων, με τίτλο, πηγή και σύνοψη φίλτρων

Άνοιγμα pivot table

Πού Στοιχείο μενού Δεδομένα
Dropdown νέας καρτέλας (δίπλα στο +), μενού Tools Pivot Table Ένα query ή πίνακας που επιλέγεις στο plugin
Αποτελέσματα query ή δεδομένα πίνακα: δεξί κλικ σε ένα κελί ή στην πάνω αριστερή γωνία Pivot Table from Selection Τα επιλεγμένα κελιά
Κεφαλίδα καρτέλας query ή μενού δεξιού κλικ του query editor Pivot Query Results Το query, εκτελεσμένο ξανά με όριο γραμμών
Πίνακας στην πλαϊνή μπάρα ή κεφαλίδα καρτέλας πίνακα Open in Pivot Table Ο πίνακας, με τα φίλτρα της καρτέλας ως όρο WHERE

Για να κάνεις pivot ολόκληρο το σύνολο αποτελεσμάτων από το grid, επίλεξε πρώτα όλα τα κελιά (κλικ στην πάνω αριστερή γωνία του grid ή πάτα Ctrl/Cmd+A) και μετά κάνε δεξί κλικ.

Μπορείς να αλλάξεις την πηγή δεδομένων ανά πάσα στιγμή με το κουμπί με το μολύβι στην πλαϊνή μπάρα, που δέχεται SQL query ή πίνακα με προαιρετικό όρο WHERE. Το SQL στη γραμμή κατάστασης δείχνει το ακριβές query που φόρτωσε τα δεδομένα.

Όρια γραμμών

Τα pivots υπολογίζονται μέσα στο plugin, οπότε τα δεδομένα φορτώνονται με όριο γραμμών: 10.000 γραμμές από προεπιλογή, με δυνατότητα έως 100.000 (η επιλογή σου απομνημονεύεται).

  • Τα queries τυλίγονται ως SELECT * FROM (<query>) AS pivot_source LIMIT n (TOP σε SQL Server, ROWNUM σε Oracle, FIRST σε Firebird), ώστε τον περιορισμό να τον κάνει η βάση δεδομένων.
  • Αν η βάση δεδομένων απορρίψει το τυλιγμένο query (για παράδειγμα ένα CTE σε SQL Server), ένα μήνυμα προτείνει να εκτελεστεί το query όπως είναι γραμμένο και να κρατηθούν οι πρώτες γραμμές. Εντολές που μπορεί να αλλάξουν δεδομένα δεν εκτελούνται ποτέ ξανά χωρίς επιβεβαίωση.
  • Οι βάσεις δεδομένων χωρίς SQL subqueries (MongoDB, Redis, Cassandra και παρόμοιες) εκτελούν το query όπως είναι γραμμένο και κρατούν τις πρώτες γραμμές.
  • Ένα banner εμφανίζεται όταν φτάσεις το όριο. Τα σύνολα καλύπτουν μόνο τις γραμμές που φορτώθηκαν.
  • Όταν ξανανοίγεις μια αποθηκευμένη καρτέλα, οι πηγές query περιμένουν κλικ στο Run query αντί να εκτελούνται αυτόματα. Οι επιλογές και οι πίνακες φορτώνουν αμέσως.

Φωτεινό και σκοτεινό θέμα

Το plugin χρησιμοποιεί τα χρώματα θέματος του Beekeeper Studio και αλλάζει μαζί με την εφαρμογή.

Φωτεινό Σκοτεινό
Συγκεντρωτικός πίνακας με το ανοιχτό θέμα Συγκεντρωτικός πίνακας με το σκούρο θέμα

Εγκατάσταση

Μόλις δημοσιευτεί, εγκατέστησε το Pivot Tables από το Tools → Manage Plugins στο Beekeeper Studio (5.5 ή νεότερο).

Για χειροκίνητη εγκατάσταση ενός build, κατέβασε το bk-plugin-pivot-tables-<version>.zip από τα releases και αποσυμπίεσέ το στον φάκελο plugins του 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

Ανάπτυξη

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 χρησιμοποιεί το @beekeeperstudio/vite-plugin, που δημιουργεί symlink του project στον φάκελο plugins. Ενεργοποίησε τα plugins στο Beekeeper Studio και άνοιξε ένα pivot από οποιοδήποτε από τα παραπάνω μενού.

Το yarn harness σερβίρει το dev/host.html στο http://localhost:5199/dev/host.html. Φιλοξενεί το plugin σε iframe και απαντά στα API αιτήματά του από μια in-memory βάση δεδομένων SQLite με 5.000 δείγματα παραγγελιών, ώστε να δουλεύεις στο UI και στις εξαγωγές χωρίς το Beekeeper Studio. Παράμετροι query:

  • Το command=new-pivot|pivot-selection|pivot-query|pivot-table επιλέγει ποιο στοιχείο μενού θα προσομοιωθεί.
  • Το theme=light|dark ορίζει το θέμα.
  • Το fresh=1 καθαρίζει την αποθηκευμένη κατάσταση της καρτέλας.
  • Το prod=1 φορτώνει το production build από το dist/ (τρέξε πρώτα yarn build).

Το docs/demo.gif καταγράφεται από το harness μέσω του scripts/record-demo.cjs, οπότε μπορεί να ξαναγραφτεί μετά από αλλαγές στο UI. Με το yarn harness να τρέχει:

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

Δομή του project

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

Η μηχανή pivot παράγει ένα grid κελιών με row και column spans (src/lib/pivot/grid.ts). Ο πίνακας στην οθόνη και κάθε exporter αποδίδονται από αυτό το grid, οπότε όλα δείχνουν την ίδια διάταξη.

Κυκλοφορία εκδόσεων

  1. Τρέξε το bin/make-release.sh. Προτείνει την επόμενη έκδοση από τα υπάρχοντα tags, ορίζει το version σε manifest.json και package.json, κάνει commit και push ένα αντίστοιχο tag, όπως v1.0.0.
  2. Το release workflow κάνει tests, build και δημιουργεί ένα draft GitHub release με τα manifest.json και bk-plugin-pivot-tables-<version>.zip. Έλεγξέ το και δημοσίευσέ το.
  3. Για την καταχώριση στο Plugin Manager, πρόσθεσε μια εγγραφή στο plugins.json στο beekeeper-studio-plugins.

Περιορισμοί

  • Τα φίλτρα καρτέλας πίνακα περνούν στα plugins από builds του Beekeeper Studio που περιλαμβάνουν την αλλαγή φίλτρων του serializeTab. Παλαιότερες εκδόσεις ανοίγουν ολόκληρο τον πίνακα (με το όριο γραμμών)· μπορείς πάντα να γράψεις όρο WHERE στον editor πηγής.
  • Το grid δείχνει τις πρώτες 500 γραμμές και 300 στήλες πολύ μεγάλων pivots (το «Show more» φορτώνει περισσότερες γραμμές). Οι εξαγωγές περιλαμβάνουν πάντα τα πάντα.
  • Οι εικόνες περιλαμβάνουν τις πρώτες 2.000 γραμμές.
  • Οι εξαγωγές PDF δεν μπορούν να αποδώσουν χαρακτήρες CJK, που δεν καλύπτει η ενσωματωμένη γραμματοσειρά DejaVu.

Άδεια

GPL-3.0. Περιλαμβάνει τις γραμματοσειρές DejaVu (άδεια Bitstream Vera) για τις εξαγωγές PDF.