Direkt zum Inhalt

Wie man die SUMX Power BI-Funktionen verwendet

Erkunde die SUMX-Funktion in Power BI, ihre Syntax, ihre Funktionsweise und die besten Praktiken, die du beachten solltest.
Aktualisierte 11. Sept. 2024  · 8 Min. Lesezeit

Wenn du gerade erst angefangen hast, Power BI mit unserem Data Analyst in Power BI Career Track zu lernen, kennst du vielleicht schon die grundlegende SUMME-Funktion aus dem Kurs Einführung in DAX (falls nicht, schau dir dieses kurze DAX-Tutorial an). In diesem Fall fragst du dich vielleicht auch, was die SUMX-Funktion ist, wie sie funktioniert und wie du sie in deinen Analysen einsetzen kannst.

Dieses Tutorial wird die SUMX-Funktion erkunden, all diese Fragen beantworten und dich durch ihre Implementierung in Power BI führen.

Wenn du dieses und andere Power BI-Tutorials durcharbeitest, denke daran, dass du als Business Intelligence- oder Power BI-Entwickler/in zwar nicht unbedingt programmieren lernen musst, es aber für deine Karriere von großem Vorteil sein kann. In unserem Artikel darüber, ob du als BI-Analyst Code lernen solltest, erfährst du, warum.

Power BI von Grund auf beherrschen

Keine Erfahrung erforderlich - lerne die Arbeit mit Daten über Power BI.
Kostenloses Lernen beginnen

Was ist die SUMX-Funktion in Power BI?

Die SUMX-Funktion in Power BI ist eine leistungsstarke DAX-Funktion, mit der du die Summe eines Ausdrucks berechnen kannst, der für jede Zeile in einer Tabelle berechnet wird. Diese Funktion ist wichtig, weil sie komplexere Berechnungen als eine einfache Summe ermöglicht.

In unserem DAX-Spickzettel findest du eine schnelle Übersicht über die nützlichsten DAX-Funktionen, die du kennenlernen wirst.

image2.png

Die Syntax der SUMX-Funktion lautet

SUMX(Table, Expression)

  • Tabelle: Die Tabelle oder der Tabellenausdruck, über den die Funktion iteriert.
  • Ausdruck: Der Ausdruck, der für jede Zeile der Tabelle ausgewertet wird. Dieser Ausdruck beinhaltet oft Daten aus Spalten in der Tabelle.

SUMX ist besonders nützlich, wenn du Berechnungen durchführen musst, die von einzelnen Zeilenwerten abhängen, bevor du die Ergebnisse zusammenzählst. Zum Beispiel die Berechnung des Gesamtumsatzes durch Multiplikation von Menge und Preis für jede Transaktion oder die Anwendung verschiedener Rabattsätze pro Produkt, bevor der gesamte rabattierte Umsatz summiert wird. Sie bietet Flexibilität und Präzision bei deinen Berechnungen und ist daher eine sehr wichtige Funktion, die du kennenlernen solltest.

Wie SUMX in Power BI funktioniert

Hier erfährst du, wie die SUMX-Funktion unter der Haube funktioniert:

  • Wenn SUMX aufgerufen wird, durchläuft es die Zeilen der angegebenen Tabelle eine nach der anderen. Für jede Zeile wird vorübergehend ein Zeilenkontext erstellt, also eine Art Umgebung, in der die Werte der aktuellen Zeile direkt zugänglich sind.
  • In diesem Zeilenkontext wertet die Funktion den Ausdruck aus, der in ihrem zweiten Argument angegeben ist. Der Ausdruck umfasst normalerweise einen oder mehrere andere Spaltenwerte aus der aktuellen Zeile. Während die Funktion die Tabelle durchläuft, berechnet sie diesen Ausdruck für jede Zeile auf der Grundlage der Daten der jeweiligen Zeile neu.
  • Während SUMX jede Zeile verarbeitet, aggregiert es die Ergebnisse und erstellt eine laufende Summe. Power BI verwendet die In-Memory-Analytics-Engine von DAX (VertiPaq), die für Berechnungen wie diese optimiert ist.
  • Nachdem er alle Zeilen durchlaufen hat, stellt SUMX die Gesamtsumme zusammen, die die Summe der einzelnen Ergebnisse für jede Zeile ist. Dieser endgültige Wert wird dann als Ausgabe der Funktion zurückgegeben.

Kontexte verstehen

In Power BI ist der Kontext entscheidend, um zu verstehen, wie DAX-Funktionen wie SUMX funktionieren. Der Kontext bestimmt, wie die Werte in Datenmodellen berechnet und angezeigt werden. Schau dir unseren Kurs Einführung in DAX an, in dem wir Kontexte genauer besprechen. Bei der Funktion SUMX gibt es zwei Haupttypen von Kontext, die du berücksichtigen musst: Zeilenkontext und Filterkontext.

Zeilen-Kontext

Der Zeilenkontext bezieht sich auf die Umgebung, in der DAX-Formeln jede Zeile einer Tabelle auswerten. Wenn du dich in einem Zeilenkontext befindest, kannst du direkt auf Spalten der Tabelle verweisen, und DAX-Formeln verwenden den Wert aus der aktuellen Zeile in Berechnungen.

Wenn du SUMX verwendest, erstellt und nutzt es den Zeilenkontext für seine Operation. Für jede Zeile in der angegebenen Tabelle wertet SUMX den angegebenen Ausdruck im Kontext der jeweiligen Zeile aus.

Kontext filtern

Ein Filterkontext ist eine Reihe von Filtern, die auf Daten in einem Power BI-Bericht angewendet werden, wie z. B. Filter aus Visuals, Slicern und Filter auf Berichtsebene. Dieser Kontext bestimmt, welche Datenpunkte bei den Berechnungen berücksichtigt werden.

Obwohl SUMX bei seinen zeilenweisen Berechnungen im Zeilenkontext arbeitet, unterliegen diese Berechnungen immer noch dem Gesamtfilterkontext des Berichts oder des Visuals. Das bedeutet, dass die Zeilen, die von SUMX durchlaufen werden, die Kriterien erfüllen, die durch den aktuellen Filterkontext definiert sind.

Interaktion zwischen Kontexten in SUMX

Wenn du SUMX verwendest, beachtet die Funktion sowohl den Zeilenkontext als auch den Filterkontext. Die Tabelle, über die SUMX iteriert, wird durch den Filterkontext bestimmt, während die Berechnung für jede Zeile im Zeilenkontext erfolgt.

Du kannst eine Kennzahl innerhalb von SUMX verwenden. In diesem Fall findet ein Kontextübergang statt, bei dem der Zeilenkontext vorübergehend in einen äquivalenten Filterkontext umgewandelt wird, um die Maßnahme für jede Zeile zu bewerten.

SUMX Best Practices

Wenn du die SUMX-Funktion in Power BI verwendest, solltest du ein paar dieser Best Practices beachten:

  • Stelle sicher, dass dein Datenmodell gut strukturiert ist, bevor du SUMX anwendest. Korrekt definierte Beziehungen und Modellschemata sind entscheidend für genaue und optimierte Power BI-Berichte.
  • SUMX wird im DirectQuery-Modus nicht unterstützt , wenn es in berechneten Spalten oder Sicherheitsregeln auf Zeilenebene verwendet wird.
  • Halte die in SUMX verwendeten Ausdrücke so einfach und effizient wie möglich. Vermeide übermäßig komplexe Berechnungen, die die Leistung verlangsamen, vor allem bei großen Datensätzen.
  • Achte auf den Kontextwechsel und wie er die Ergebnisse deiner Funktion beeinflussen kann.
  • SUMX berücksichtigt nur Zahlen. Leerzeichen, logische Werte und Text werden ignoriert.

SUMX vs. andere Funktionen

Einige Funktionen ähneln SUMX und es kann etwas verwirrend sein, zu wissen, welche Funktion wann zu verwenden ist. Lass uns zwei Funktionen aufschlüsseln, die am meisten Verwirrung stiften.

SUMX vs SUM

SUM wird verwendet, um die Summe einer Spalte in einer Tabelle zu berechnen und hat die folgende Syntax:

SUM(Column)

SUMX iteriert über jede Zeile, um einen Ausdruck auszuwerten, während SUM direkt die Werte einer einzelnen Spalte zusammenfasst. Das bedeutet, dass SUMX auch komplexere Berechnungen mit mehreren Spalten durchführen kann.

Der iterative Charakter von SUMX macht es jedoch im Vergleich zu SUM ressourcenintensiver, besonders bei großen Datensätzen. Denke daran, wenn du mit einem großen Datenmodell arbeitest, und bleibe bei SUM für einfache Summierungen.

SUMX vs. CALCULATE

CALCULATE ändert den Filterkontext einer Berechnung und ist eine der mächtigsten Funktionen in DAX. Dies ist die Syntax für die Funktion CALCULATE:

CALCULATE(Expression, Filter1, Filter2,...)

CALCULATE ist ideal für Szenarien, in denen du Berechnungen unter anderen Filterbedingungen durchführen musst, als die, die derzeit auf den Bericht oder das Modell angewendet werden. SUMX hingegen ist für Berechnungen auf Zeilenebene, gefolgt von einer Aggregation.

In komplexen Szenarien können wir CALCULATE mit anderen Funktionen, wie SUMX, verwenden. Du könntest zum Beispiel CALCULATE verwenden, um einen bestimmten Filterkontext zu definieren, innerhalb dessen SUMX seine Berechnungen und Aggregationen auf Zeilenebene durchführt.

SUMX in Power BI implementieren: Schritt-für-Schritt-Anleitung

Anhand der Power BI-Beispieldaten (die bei der Installation von Power BI Desktop verfügbar sind) zeigen wir dir, wie du die SUMX-Funktion verwendest und wie du SUMX mit einigen anderen nützlichen DAX-Funktionen kombinierst.

Hier ist eine Momentaufnahme unserer Daten, die den monatlichen Umsatz für verschiedene Produkte in unterschiedlichen Segmenten und Ländern zeigt.

image4.png

Schritt 1: Erstellen einer Kennzahl mit SUMX

Hier ist ein klassisches Beispiel für die Macht von SUMX. Wir wollen die Anzahl der verkauften Einheiten, den Preis pro Einheit und den Wert der gewährten Rabatte verwenden, um den Gesamtverkaufswert zu berechnen.

SUMX(Sales, (Sales[Units Sold] * Sales[Sale Price])-Sales[Discounts])

Hier ist eine Tabelle, die das Ergebnis unserer SUMX-Funktion zeigt. Wie du siehst, kann der Gesamtumsatz auch gefiltert werden - in diesem Fall filtern wir nach Jahr und Produkt.

image1.png

Schritt 2: Filter auf SUMX anwenden

Wir können Filter mit der Funktion SUMX auf zwei Arten verwenden: mit FILTER oder CALCULATE.

FILTER wird verwendet, um bestimmte Filter auf eine Tabelle oder einen Ausdruck innerhalb von SUMX anzuwenden. Sie ermöglicht eine genauere Kontrolle über die Zeilen, über die SUMX iteriert.

SUMX(FILTER(Sales, Sales[Discount Band] = "High"), Sales[Units Sold])

CALCULATE ändert den Filterkontext für die SUMX-Funktion und ermöglicht so komplexe bedingte Aggregationen.

SUMX(Sales, CALCULATE(SUM(Sales[Units Sold]), Sales[Year] = 2020))

Schritt 3: Kombinieren von SUMX mit anderen Funktionen

ALL und ALLEXCEPT

Diese Funktionen werden verwendet, um Filter aus einer Tabelle oder aus allen Tabellen außer den angegebenen zu entfernen. Sie werden häufig in CALCULATE und in Kombination mit SUMX verwendet, um Berechnungen über einen ungefilterten Datensatz durchzuführen.

SUMX(ALL(Sales), Sales[Sale Price] * Sales[Units Sold])

VALUES

VALUES gibt eine einspaltige Tabelle mit eindeutigen Werten aus einer Spalte zurück. Du kannst sie mit SUMX für Berechnungen kombinieren, die eine Iteration über eindeutige Werte erfordern.

SUMX(VALUES(Sales[Country]), [Total Sales])

AVERAGEX, MINX, und MAXX

Dies sind weitere iterative Funktionen, die SUMX ähneln, aber zur Berechnung von Durchschnitts-, Minimal- bzw. Maximalwerten verwendet werden. Sie können verschachtelt oder neben SUMX verwendet werden.

AVERAGEX(Customers, SUMX(RELATEDTABLE(Sales), Sales[Units Sold]))

IF und SWITCH

Logische Funktionen wie IF und SWITCH können in SUMX verwendet werden, um bedingte Berechnungen durchzuführen.

SUMX(Sales, IF(Sales[Country] = "Mexico", Sales[Units Sold], 0))

BENUTZERBEZIEHUNG

USERELATIONSHIP gibt eine bestimmte Beziehung an, die in einer Berechnung verwendet werden soll. Sie ist besonders nützlich, wenn mehrere Beziehungen zwischen Tabellen bestehen.

SUMX(CALCULATETABLE(Sales, USERELATIONSHIP(Date[Date], Sales[Date])), Sales[Units Sold])

Fazit

In diesem Tutorium haben wir die SUMX-Funktion in Power BI genauer unter die Lupe genommen und dir gezeigt, wie du sie selbst implementieren kannst. Sie ist nicht nur eine flexible und leistungsstarke DAX-Funktion, sondern zeigt auch, wie wichtig es ist, Kontexte in DAX zu verstehen. Wenn du mehr erfahren möchtest, schau dir unseren Power BI Grundlagen-Kurs an.

Werde ein Power BI Datenanalyst

Beherrsche das beliebteste Business Intelligence Tool der Welt.

Kostenloses Lernen beginnen

Joleen Bothma's photo
Author
Joleen Bothma
LinkedIn
Themen

Beginne deine Power BI-Reise noch heute!

Kurs

Introduction to Power BI

4 hr
439.2K
Master the Power BI basics and learn to use the data visualization software to build impactful reports.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Mehr anzeigenMehr anzeigen