Power Pivot für die DatenanalyseWie Pivot-Tabellen mit DAX-Funktionen arbeiten
Power Pivot zeigt seine Stärken vor allem dann, wenn Sie eigene DAX-Measures erstellen. Typische und sehr oft genutzte Beispiele sind die Summe von verkauften Einheiten (SUM) oder die Anzahl von Bestellungen (DISTINCTCOUNT).
Doch um mit DAX-Funktionen wirklich erfolgreich zu sein, reicht es nicht, einfach Formeln anzuwenden. Sie sollten verstehen, wie eine Pivot-Tabelle mit den DAX-Funktionen rechnet.
Nur so können Sie später komplexe Measures entwickeln und deren Ergebnisse richtig interpretieren.
In diesem Beitrag erfolgt deshalb ein Blick hinter die Kulissen:
- Wie funktioniert die Berechnung mit einer einzigen Tabelle?
- Wie ändert sich das Verhalten, wenn mehrere Tabellen über Beziehungen miteinander verbunden sind?
Pivot-Tabellen mit Berechnungen aus einer Tabelle des Datenmodells
Grundlage für das folgende Beispiel sei folgendes Szenario: Sie arbeiten nur mit der Tabelle Bestellungen.
Und Sie möchten Folgendes für Ihre Datenanalyse wissen:
- Wie viele Bestellungen hat ein Kunde aufgegeben?
- Wie viele Artikel hat er insgesamt gekauft?
Dazu ziehen Sie die KundenID aus der Bestellungen-Tabelle in die Zeilen und verwenden die beiden Measures Summe der verkauften Einheiten und Anzahl Bestellungen im Wertebereich der Pivot-Tabelle.
Auf diese gefilterte Teilmenge werden dann die Measures angewendet:
- DISTINCTCOUNT der BestellID → 3 Bestellungen
- SUM der verkauften Einheiten (Menge) → 11 Artikel
Damit erkennen Sie das Prinzip:
Jede Zelle in einer Pivot-Tabelle ist das Ergebnis einer Filterung + Measure-Berechnung.
Pivot-Tabelle mit Daten aus mehreren Tabellen erstellen
Nun wird es spannender: Statt die KundenID direkt aus der Transaktionen-Tabelle zu verwenden, greifen Sie auf die Kunden-Tabelle zurück und ziehen dort das Feld Kundenname in die Zeilen. (Denn die KundenID ist vermutlich wenig aussagekräftig.)
Beispiel: Kunde Alpha OHG
- 6 Bestellungen
- 31 Artikel
Erst danach kommen die Measures ins Spiel:
- Anzahl Bestellungen:= DISTINCTCOUNT(tbl_Bestellungen[BestellID]) = 6
- Verkaufte Einheiten:= SUM(tbl_Bestellungen[Menge]) = 31
Das Ergebnis ist identisch, unabhängig davon, ob Sie mit der KundenID aus der Bestellungen-Tabelle oder mit dem Kundennamen aus der Kundentabelle arbeiten. Der Unterschied liegt in der Art, wie der Filter ins Modell einfließt.
Filterfluss im Datenmodell
In der Diagrammansicht des Datenmodells können Sie den Mechanismus sehr gut nachvollziehen:
- Die Kunden-Tabelle ist mit der Bestellungen-Tabelle über die Spalte KundenID verbunden.
- Der Filter, der in der Kunden-Tabelle gesetzt wird (zum Beispiel Alpha OHG), fließt entlang dieser Beziehung in die Bestellungen-Tabelle.
- Der Richtungspfeil in der Beziehung zeigt die Fließrichtung des Filters an.
Erst wenn alle Filter übertragen sind, führen die Measures ihre Berechnung durch.
Warum dieses Wissen so wichtig ist
Die Filterlogik ist das Fundament von Power Pivot und DAX. Wer diesen Mechanismus verstanden hat, kann:
- Ergebnisse besser nachvollziehen und Fehler vermeiden,
- komplexere Szenarien korrekt modellieren (zum Beispiel Filter über mehrere Dimensionstabellen) und
- die Unterschiede zwischen Filterkontext und Zeilenkontext begreifen – eines der wichtigsten Konzepte in DAX.
Ohne dieses Verständnis wirken viele DAX-Funktionen wie „Magie“. Mit diesem Wissen wird klar: Jede Berechnung ist nur das Ergebnis einer Filterung + Measure-Formel.
Fazit
Eine Pivot-Tabelle arbeitet immer nach demselben Muster:
- Filterung der Tabellen – basierend auf den ausgewählten Feldern in Zeilen, Spalten und Filtern.
- Weitergabe der Filter – über Beziehungen an andere Tabellen im Modell.
- Berechnung der Measures – auf Grundlage der gefilterten Daten.
Das gilt sowohl für den einfachen Fall mit einer einzigen Tabelle als auch für komplexe Datenmodelle mit vielen verknüpften Tabellen.