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.

image-20240729-063722.png

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)

image-20240729-082621.png

image-20240729-082947.png

Verwendung von count(name)

image-20240729-083033.png

image-20240729-083145.png

Die Lösung wird mit der Aggregatfunktion distinct_count dargestellt

image-20240729-082405.png

image-20240729-082348.png

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.

Konfiguration der Gehaltswertspalte: