# Pivot-Tabelle

Eine Pivot-Tabelle (engl. pivot [pɪvət] aus frz. pivot, im Deutschen häufig französisch [piˈvoː] ausgesprochen: Dreh-, Angelpunkt, Schlüsselfigur, Achse; auch Pivot-Table-Berichte oder pivot table reports) ist eine spezielle Art von Tabelle, die die Möglichkeit bietet, die Daten der Tabelle verschiedenartig darzustellen, ohne die Ausgangsdaten dazu ändern zu müssen.
Der Nutzen liegt darin, große Datenmengen auf überschaubare Größen zu reduzieren.

## Geschichte

Die Bezeichnung Pivot wurde zuerst 1991 in den USA von der Firma Brio Technology im Produkt DataPivot verwendet. Obwohl Pivot-Tabelle ein allgemein verwendeter Begriff ist, hat Microsoft 1994 PivotTable als Marke eintragen lassen. In den USA ist die Marke 2020 verfallen, in Europa aber weiterhin eingetragen.

## Datenquellen

Datenquellen für Pivot-Tabellen können Listen und Datenbanken aus Tabellenkalkulationen, aber auch Tabellen aus externen Datenbank-Anwendungen, z. B. innerhalb eines Office-Paketes, sein. Moderne Tabellenkalkulationen besitzen dazu eine spezielle Funktion, mit der eine Menge gleichartiger Datensätze in Gruppen zusammengefasst wird und die als Ergebnis eine Pivot-Tabelle liefert. In den gängigen Office-Paketen hilft ein Assistent (Pivot-Tabellenassistent oder Datenpilot) bei der Erstellung von Pivot-Tabellen.

## Struktur

Eine Pivot-Tabelle besteht aus mehreren Bereichen, von denen jeder beliebige Felder (Spaltenüberschriften) der Originaldaten aufnehmen kann. Typischerweise werden die erforderlichen Felder bei Erstellung der Pivot-Tabelle aus einer Liste ausgewählt und mit der Maus in den gewünschten Bereich gezogen.

### Gliederung

Die Aufteilung der Felder auf Zeilen- und Spaltenfelder bestimmt die Struktur der Pivot-Tabelle. Bei Änderung dieser Aufteilung oder Reihenfolge werden nicht mehr oder weniger Daten angezeigt, sondern diese lediglich in anderer Form dargestellt. Das Verschieben eines Zeilen- oder Spaltenfeldes an einen anderen Platz wird auch als Pivotieren dieses Feldes bezeichnet. Zum Beispiel ergibt das Vertauschen von Zeilen- und Spaltenfeldern (unter Beibehaltung ihrer Reihenfolge) eine transponierte Tabelle.
Durch Doppelklick auf eine Zelle in einer Pivot-Tabelle werden Gruppen ein- und ausgeblendet („Drill-down“ und „Roll-up“), um mehr oder weniger Details darzustellen. Gehört die Zelle zu einem Datenfeld, werden nach dem Doppelklick alle einzelnen Datensätze aus den Originaldaten, die in die Berechnung dieser Zelle mit einfließen, auf einem separaten Tabellenblatt dargestellt.
Nach welchen Feldern gruppiert wird und welche Felder ausgegeben werden, kann der Benutzer frei wählen und auch nach Erstellung der Pivot-Tabelle interaktiv verändern, ohne die gesamte Erstellung wiederholen zu müssen. Bei Gruppierung nach zwei oder mehr Feldern kann die Pivot-Tabelle als Kreuztabelle angezeigt werden, was ihre Übersichtlichkeit erhöht.
Anwendungsbeispiel „Gruppieren nach Feld X“ heißt, dass man alle Datensätze aus der Original-Tabelle, die in der Spalte X exakt den gleichen Inhalt haben, zu je einem einzigen Datensatz in der Ergebnis-Tabelle zusammenfasst (Aggregieren zu Kategorien). Die Ergebnis-Tabelle enthält also alle in der Original-Tabelle auftretenden Kategorien nur je einmal. Sind in der Original-Tabelle alle Einträge verschieden, hat die daraus aggregierte Tabelle genau so viele Einträge, sind hingegen alle Einträge identisch, hat sie nur einen einzigen Eintrag.
Gibt es in einer Spalte der zu analysierenden Daten überwiegend verschiedene Werte (z. B. Messwerte mit vielen signifikanten Stellen), ist eine Gruppierung nach dieser Spalte mittels Pivot-Tabelle nicht sinnvoll. In diesem Fall muss man zuvor selbst geeignete Klassen (z. B. Intervalle) definieren und als neue Spalte den Ausgangsdaten hinzufügen. Eine Ausnahme sind Spalten mit Datumsangaben, die in verschiedenen Programmen direkt in der Pivot-Tabelle nach Tagen, Monaten, Quartalen etc. gruppiert werden können.

### Feldtypen

Folgende Bereiche werden unterschieden:

#### Zeilenfelder

    Ein hierher gezogenes Feld bewirkt, dass die Ausgangsdaten nach diesem Feld gruppiert werden. Für jeden verschiedenen Feldinhalt, der in den Ausgangsdaten vorkommt, wird eine Zeile in der Pivot-Tabelle angelegt. Werden zwei Felder als Zeilenfelder ausgewählt, dann werden innerhalb jeder zum ersten Feld gehörigen Gruppe alle Gruppen, die zum zweiten Feld gehören, in der Pivot-Tabelle dargestellt. Bei mehr als zwei Zeilenfeldern setzt sich diese Aufteilung entsprechend für alle Felder fort. Die Reihenfolge der Zeilenfelder ist relevant und wird vom Benutzer sinnvollerweise so gewählt, dass das Ergebnis möglichst übersichtlich ist.

#### Spaltenfelder

    Bewirken analog wie Zeilenfelder eine Gruppierung; die verschiedenen Inhalte eines Spaltenfeldes werden jedoch nicht in Zeilen, sondern in Spalten dargestellt. Verwendet der Benutzer zugleich Zeilen- und Spaltenfelder, hat er eine Kreuztabelle erstellt.

#### Datenfelder

    Bestimmen, was im Schnittpunkt von Zeilen und Spalten dargestellt wird. Für jedes Datenfeld wird mittels einer Aggregationsfunktion (wie z. B. „Summe“ oder „Anzahl der Datensätze“) bewirkt, dass in jeder Zelle der Pivot-Tabelle genau ein Wert eingetragen wird, auch wenn es viele Datensätze gibt, die Mitglied in den zu der Zelle gehörigen Gruppen sind. Werden mehrere Datenfelder gewählt, kann der Benutzer entscheiden, ob die verschiedenen Datenfelder nebeneinander in Spalten oder untereinander in Zeilen dargestellt werden sollen (exakt wie für Spalten- und Zeilenfelder). Es kann auch dasselbe Feld mehrfach als Datenfeld verwendet werden (sinnvollerweise mit unterschiedlicher Aggregationsfunktion).

#### Seitenfelder

    Erlauben eine Filterung, d. h. eine Einschränkung der Pivot-Tabelle auf jene Datensätze der Ausgangsmenge, die in den gewählten Seitenfeldern bestimmte Werte aufweisen.

## Datenbanken

Das Prinzip der Pivotierung liegt auch den Ansichten in MOLAP-Datenbanken zugrunde. Diese nichtrelationalen Datenbanken sind multidimensional. Für Datenanalysen sind zwei Dimensionen in der Ansichtsebene, die weiteren Dimensionen befinden sich wie in der Pivotsicht aggregiert im Hintergrund.

## Vergleich mit SQL

Pivot-Tabellen ermöglichen es, in einer Tabellenkalkulation Auswertungen durchzuführen, die in der Datenbankabfragesprache SQL mit einer Group-by-Klausel erzielt werden können. Mit den üblichen Funktionen, die Tabellenkalkulationen zur Berechnung von Zellinhalten bereitstellen, sind solche Gruppierungen nur sehr eingeschränkt oder gar nicht möglich.
Die verschiedenen Typen von Feldern einer Pivot-Tabelle entsprechen bestimmten Teilen einer SQL-Abfrage:
* Zeilen- und Spaltenfelder von Pivot-Tabellen entsprechen Feldern in der Group-by-Klausel.
* Datenfelder entsprechen Ausdrücken im Select-Teil des SQL-Befehls. Diese Ausdrücke enthalten notwendigerweise Aggregationsfunktionen wie z. B. die Summenfunktion.
* Seitenfelder entsprechen einfachen Bedingungen in der Having- bzw. Where-Klausel des SQL-Befehls.
Nicht alle Möglichkeiten, die SQL oder die Tabellenkalkulation selbst bieten, werden von Pivot-Tabellen unterstützt. Zum Beispiel stehen in Microsoft Excel nur einige vordefinierte Aggregationsfunktionen zur Verfügung; Median und 95-%-Quantil fehlen etwa.
Datenbankabfrageprogramme sind im Allgemeinen flexibler als Pivot-Tabellen, d. h. mit SQL können mehr Fragen beantwortet werden. Die Abfrageprogramme bieten jedoch typischerweise weniger Möglichkeiten zur ansprechenden Aufbereitung der Ergebnisse und sind weniger komfortabel zu bedienen. Viele Programme können Datensätze nicht als Kreuztabelle ausgeben und spezielle Formatierungen sind nur in Handarbeit (d. h. ohne Assistenten und Steuerelemente) oder gar nicht möglich.

## Besonderheiten

Aus Performancegründen werden Pivot-Tabellen im Allgemeinen nicht automatisch bei jeder Änderung der Ausgangsdaten aktualisiert, wie dies bei sonstigen Funktionen in Tabellenkalkulationen üblich ist. Die Aktualisierung muss der Benutzer bei Bedarf manuell starten.
Die Auswertung erfolgt nach Datentypen, so werden z. B. die Zahl 12.03, der Text 12.03 und das Datum 12.03 separat ausgewertet. Bei nicht konsistent gepflegter Datengrundlage kann dies zu Fehlern führen.
Bei einigen Office-Paketen kann man Pivot-Tabellen grafisch als interaktiven Pivot-Chart (deutsch: Pivot-Diagramm) darstellen.