DAX-Tutorial: Die SUMX-Funktion in Power Pivot meistern
Hier ist ein umfassendes Tutorial zur Verwendung der DAX-Funktion SUMX im Power Pivot Add-In für Excel.
Die Funktion SUMX gehört zu den sogenannten „Iterator-Funktionen“ in DAX (Data Analysis Expressions). Während die einfache SUM-Funktion lediglich eine Spalte addiert, erlaubt SUMX Berechnungen auf Zeilenebene, bevor das Endergebnis summiert wird.
In diesem Tutorial lernst du, wann du SUMX einsetzt, wie die Syntax funktioniert und warum sie für präzise Analysen in Power Pivot unerlässlich ist.
1. Was ist SUMX?
SUMX steht für „Sum Expression“. Das „X“ am Ende deutet darauf hin, dass die Funktion über eine Tabelle iteriert (also Zeile für Zeile durchgeht).
Der Hauptunterschied zu SUM:
- SUM: Addiert alle Werte in einer einzelnen Spalte.
- SUMX: Berechnet zuerst einen Ausdruck für jede einzelne Zeile einer Tabelle und addiert dann diese Teilergebnisse auf.
2. Die Syntax
Die Syntax von SUMX ist einfach aufgebaut:
SUMX(<table>, <expression>)
<table>: Die Tabelle (oder ein gefilterter Ausschnitt einer Tabelle), über die Power Pivot iterieren soll.<expression>: Die Berechnung, die für jede Zeile dieser Tabelle ausgeführt werden soll.
3. Warum braucht man SUMX? (Ein Beispiel)
Stell dir vor, du hast eine Verkaufstabelle (Verkäufe) mit folgenden Spalten:
MengeEinzelpreis
Du möchtest den Gesamtumsatz berechnen.
Der falsche Weg mit SUM:
Wenn du versuchst, SUM(Menge) * SUM(Einzelpreis) zu rechnen, multipliziert Power Pivot die Gesamtsumme der Menge mit der Gesamtsumme der Preise. Das führt zu mathematisch falschen Ergebnissen.
Der richtige Weg mit SUMX:
SUMX geht jede Zeile einzeln durch, rechnet Menge * Einzelpreis und merkt sich das Ergebnis. Am Ende werden alle Zeilenergebnisse addiert.
4. Schritt-für-Schritt-Anleitung in Power Pivot
Schritt 1: Datenmodell öffnen
- Öffne Excel und klicke auf den Reiter Power Pivot.
- Klicke auf Verwalten, um das Power Pivot-Fenster zu öffnen.
Schritt 2: Ein Measure (Berechnetes Feld) erstellen
- Gehe im unteren Bereich des Fensters (dem Berechnungsbereich) in eine leere Zelle.
- Gib die folgende Formel ein:
Gesamtumsatz := SUMX(Verkäufe; Verkäufe[Menge] * Verkäufe[Einzelpreis])
Hinweis: Je nach Excel-Version musst du ein Semikolon (;) oder ein Komma (,) als Trennzeichen verwenden.
Schritt 3: Das Ergebnis nutzen
- Kehre zu Excel zurück und erstelle eine Pivot-Tabelle auf Basis deines Datenmodells.
- Ziehe dein neues Measure
Gesamtumsatzin den Bereich Werte. - Du siehst nun den korrekt berechneten Umsatz, egal welche Dimensionen (Produkt, Jahr, Region) du in die Zeilen oder Spalten ziehst.
5. Fortgeschrittene Anwendung: SUMX mit Filtern
Ein großer Vorteil von SUMX ist, dass man die Tabelle im ersten Argument manipulieren kann. Möchtest du zum Beispiel den Umsatz nur für die Kategorie "Elektronik" berechnen, kannst du die FILTER-Funktion einbetten:
UmsatzElektronik := SUMX(
FILTER(Verkäufe; Verkäufe[Kategorie] = "Elektronik");
Verkäufe[Menge] * Verkäufe[Einzelpreis]
)
6. Wichtige Tipps & Best Practices
- Zeilenkontext: SUMX erzeugt einen sogenannten "Row Context". Das bedeutet, innerhalb der Funktion "weiß" Power Pivot, in welcher Zeile es sich gerade befindet.
- Performance: SUMX ist extrem leistungsfähig, aber bei Millionen von Zeilen und sehr komplexen Formeln innerhalb des Ausdrucks kann es die Berechnung verlangsamen. Nutze es gezielt dort, wo eine einfache Spaltensumme nicht ausreicht.
- Measures in SUMX: Du kannst innerhalb von SUMX auch andere bereits bestehende Measures verwenden. In diesem Fall findet ein "Context Transition" statt – ein fortgeschrittenes DAX-Konzept.
Zusammenfassung
Nutze SUMX, wenn du Berechnungen durchführen musst, die zwei oder mehr Spalten derselben Tabelle pro Zeile kombinieren (z. B. Preis * Menge, Kosten - Rabatt). Es ist das Schweizer Taschenmesser für präzise Aggregationen in Power Pivot.