Aggregatfunktionen und Pivotisierung
Aggregatfunktionen und Pivoting können verwendet werden, um Daten in einer Datenbanktabelle zu gruppieren und zu aggregieren.
Die grundlegende Funktionalität lässt sich am besten anhand eines einfachen Beispiels erklären.
Wir haben eine Tabelle (der Einfachheit halber nicht normalisiert), die die Mitarbeiter eines Unternehmens enthält. Jeder Mitarbeiter hat einen Namen, gehört zu einer Abteilung, hat einen Erfahrungsgrad und ein Gehalt.
Sehen wir uns nun an, wie wir aus diesem Datensatz einige nützliche Informationen herausholen können.
Gehälter nach Mitarbeitern
Dies ist die einfachste Form der Information. Zeigen Sie einfach den Namen des Mitarbeiters zusammen mit seinem Gehalt an. Dazu sind keinerlei Aggregatfunktionen oder Pivoting erforderlich.
Tabelle
Die Tabelle besteht aus zwei Spalten, einer für den Namen und einer für das Gehalt, beide ohne Aggregatfunktion.
Konfiguration der Namensspalte
Konfiguration der Gehaltsspalte:
Diagramm
Konfiguration des Diagramms
Konfiguration der Spalte „Gehalt“
Zusammengefasste Gehälter, gruppiert nach Abteilung
Tabelle
Konfiguration der Abteilungsspalte:
Die Mitarbeiter sind nach Abteilung gruppiert.
Obwohl „Gruppe” in der Dropdown-Liste „Aggregatfunktion” aufgeführt ist, handelt es sich dabei nicht um eine echte Aggregatfunktion. Aggregatfunktionen aggregieren Werte (Summe, Anzahl, Durchschnitt, Minimum, Maximum), während „Gruppe” lediglich Zeilen zusammenfasst.
Konfiguration der Gehaltsspalte:
Da wir die Mitarbeiter bereits nach Abteilung gruppiert haben, müssen alle anderen Spalten eine Aggregatfunktion verwenden. In diesem Fall möchten wir die Gehälter der Mitarbeiter innerhalb einer Abteilung zusammenfassen.
Diagramm
Konfiguration des Diagramms
Die Zeilen werden automatisch nach der als X-Achsenbeschriftung ausgewählten Spalte gruppiert.
Konfiguration der Spalte „Gehalt“
Durchschnittliche Gehälter gruppiert nach Abteilung
Gleiche Konfiguration wie im obigen Beispiel, außer dass die Aggregatfunktion der Gehaltsspalte auf „Durchschnitt“ statt auf „Summe“ gesetzt ist.
Tabelle
Diagramm
Anzahl der Mitarbeiter, gruppiert nach Abteilung
Gleiche Konfiguration wie im obigen Beispiel, außer dass die Aggregatfunktion der Spalte „Gehalt“ auf „count“ statt auf „sum“ gesetzt ist.
Tabelle
Diagramm
Sonderfall (Distinct_count):
Wenn der ursprüngliche Datensatz mehrere Einträge derselben Person enthielt, könnte dies bedeuten, dass die Person eine Gehaltserhöhung erhalten hat.
Die Gehaltserhöhung wird als neuer Eintrag in der Tabelle dargestellt (dies hilft dabei, die alten Gehaltsinformationen im Blick zu behalten).
Im folgenden Screenshot hat Hans Muster eine Gehaltserhöhung erhalten, sodass sein neues Gehalt (100'000.00) beträgt.
Bei Verwendung der vorherigen Einstellungen zur Berechnung der Anzahl der Mitarbeiter, gruppiert nach Abteilungen, würde Hans zweimal gezählt werden.
Eine Änderung der Aggregatfunktion von count(salary) zu count(name) würde immer noch zu demselben falschen Ergebnis führen, wie unten gezeigt:
Verwendung von count(salary)
Verwendung von count(name)
Die Lösung wird mit der Aggregatfunktion distinct_count dargestellt
Gehalt nach Ebene gruppiert, nach Abteilung gruppiert
In den vorherigen Beispielen hatten wir immer nur eine Datenreihe (Gehalt oder Anzahl der Mitarbeiter). Es könnte auch interessant sein, die Datenreihe auf der Grundlage der verfügbaren Daten zu definieren.
In diesem Beispiel möchten wir die zusammengefassten Gehälter nach Abteilung gruppiert sehen. Außerdem möchten wir die Daten getrennt nach der Ebene der Mitarbeiter anzeigen.
Um dies zu erreichen, müssen wir die Mitarbeiter nach Abteilung gruppieren und die Tabelle nach Stufe pivotieren. Dies führt zu folgender Tabelle:
Abteilung | hoch | niedrig | Mittel |
|---|---|---|---|
Entwicklung | 120'000.00 | 100'000.00 | 110'000.00 |
Verwaltung | 180'000.00 | 0 | 150'000.00 |
Einkauf | 0 | 80'000.00 | 90'000.00 |
Das Tabellen-Widget unterstützt noch keine Pivot-Funktion.
Diese Tabelle kann wie folgt in einem Diagramm visualisiert werden:
Diagrammkonfiguration:
Die Liste der Pivot-Farben wird automatisch anhand der vorhandenen Daten in der Tabelle generiert.
Wenn eine Pivot-Spalte festgelegt ist, kann nur eine Wertespalte hinzugefügt werden.


























