Direkt zum Inhalt

Power BI Tutorial Berechnen

Erfahre, wie du die Power BI CALCULATE()-Funktion verwendest, und gebe Beispiele, wie du sie einsetzen kannst.
Aktualisierte 16. Jan. 2025  · 6 Min. Lesezeit

Die Funktion CALCULATE() ist wohl eine der wichtigsten (und beliebtesten) DAX-Funktionen in Power BI. Es ist einfach zu bedienen und extrem vielseitig, so dass du deine Datenanalysen erweitern und noch wertvollere Power BI-Berichte entwickeln kannst.

In diesem Lernprogramm geht es darum, was die Funktion CALCULATE() ist und wie du sie verwendest. Dabei wird davon ausgegangen, dass du bereits mit den Grundlagen von Power BI und DAX vertraut bist.

Was ist die Power BI-Funktion Berechnen()? 

Laut der Microsoft Power BI-Dokumentation gehört die Funktion CALCULATE() zur Kategorie der Filterfunktionen und ist definiert als "Auswertung eines Ausdrucks in einem modifizierten Filterkontext". Ein Ausdruck ist im Wesentlichen ein Maß und umfasst Funktionen wie SUM(), AVERAGE() und COUNT(). Dieser Ausdruck wird im Kontext von einem oder mehreren Filtern ausgewertet. 

Wie du vielleicht weißt, können Filter auch einfach durch Hinzufügen von Slicern auf einen Power BI-Bericht angewendet werden, ohne dass eine Kennzahl mit der Funktion CALCULATE() erstellt wird. Es gibt jedoch viele Anwendungsfälle, in denen die Funktion CALCULATE() besser geeignet ist. Es ist besonders nützlich, sie als Bestandteil einer anderen Funktion zu verwenden. Wie das funktioniert, sehen wir im folgenden Beispiel für die Berechnung des Prozentsatzes einer Summe.

DAX Calculate() Basic Syntax

Die grundlegende DAX-Syntax der Funktion CALCULATE() lautet:

CALCULATE( <expression> [, <filter1> [, <filter2> [, ...]]])

Die Funktion CALCULATE() besteht aus 2 Schlüsselkomponenten:

  • Der Ausdruck - das ist die Aggregationskomponente, die genau wie eine Kennzahl mit Funktionen wie SUM(), AVERAGE() und COUNT() konstruiert wird.

  • Die Filter - mit dieser Komponente kannst du einen oder mehrere Filter angeben, die den Kontext der Aggregation steuern.

Es gibt 3 Arten von Filtern, die in der Funktion CALCULATE() verwendet werden können:

  • Boolesche Filterausdrücke - dies ist ein einfacher Filter, bei dem das Ergebnis entweder TRUE oder FALSE sein muss.

  • Tabellenfilterausdrücke - dies ist ein komplexerer Filter, bei dem das Ergebnis eine Tabelle ist.

  • Filteränderungsfunktionen - Filter wie ALL und KEEPFILTERS fallen in diese Kategorie und geben dir mehr Kontrolle über den Filterkontext, den du anwenden möchtest.

Du kannst der Filterkomponente der Funktion CALCULATE() mehrere Filter hinzufügen, indem du jeden Filter mit einem Komma trennst. Alle Filter werden zusammen ausgewertet und ihre Reihenfolge spielt keine Rolle. 

Du kannst steuern, wie die Filter ausgewertet werden, indem du logische Operatoren verwendest. Wenn du möchtest, dass alle Bedingungen als TRUE ausgewertet werden, kannst du AND (&&) verwenden. Dies ist auch das Standardverhalten der Filter, wie oben erwähnt. Alternativ dazu muss mit dem OR (||) Operator mindestens eine Bedingung als TRUE ausgewertet werden, damit ein Ergebnis zurückgegeben wird.

Power BI von Grund auf beherrschen

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

Wie man Power BI Calculate() verwendet

Um CALCULATE() zu verwenden, fügst du einfach eine Maßeinheit zu deiner Tabelle hinzu. Du kannst dies tun, indem du im Menüband zur Registerkarte Modellierung navigierst und Neue Maßnahme wählst. 

Neue Maßnahme auf der Registerkarte "Modellierung" in Power BI auswählen

Wähle Neue Maßnahme auf der Registerkarte Power BI Modellierung. Bild vom Autor

Nachfolgend findest du ein einfaches Beispiel für die Funktion CALCULATE(), in dem du SUM() verwendest, um die Gesamteinnahmen zu ermitteln und nach Country = United Kingdom zu filtern. Wir werden dieses Beispiel am Ende des Tutorials noch einmal genauer besprechen.

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]), 
               'Online Retail'[Country] = "United Kingdom")

In einer Tabelle können wir sehen, dass die Maßnahme für die Einnahmen in Großbritannien einfach einen Filter für das Land anwendet, zusätzlich zu dem Filterkontext, der bereits in der Tabelle für den Monat vorhanden ist. Wenn wir die Funktion CALCULATE() auf diese Weise verwenden, können wir genauer steuern, welche Informationen in unserem Bildmaterial angezeigt werden. 

Tabelle der Umsätze in Power BITabelle der Umsätze in Power BI. Bild vom Autor

Ein wichtiger Punkt, den du bei der Erstellung von Maßnahmen beachten solltest, ist die Einhaltung guter Datenmodellierungspraktiken, insbesondere im Hinblick auf die Geschwindigkeit und Optimierung deiner Abfragen. Aus diesem Grund sind einige Verwendungen der Funktion CALCULATE() schneller oder besser geeignet als andere. 

In der Microsoft-Dokumentation wird zum Beispiel empfohlen, die Funktion FILTER() nicht als Argument für andere Funktionen zu verwenden (z. B. in der Funktion CALCULATE() ). Stattdessen ist es besser, wenn möglich boolesche Ausdrücke zu verwenden, da diese ausdrücklich für diesen Zweck optimiert sind.

Im obigen Beispiel haben wir einen booleschen Ausdruck verwendet, um unseren Filter für Country = United Kingdom zu definieren. Das ist ein schneller und optimierter Ansatz. Auf der anderen Seite ist hier ein Beispiel für die Funktion FILTER(), bei der wir das gleiche Ergebnis erhalten, aber die Berechnung ist langsamer:

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
              FILTER('Online Retail',
                        'Online Retail'[Country] = "United Kingdom")

Beispiele für die Power BI Funktion Berechnen()

Anhand eines realen E-Commerce-Datensatzes werden wir einige wichtige Möglichkeiten erkunden, wie die Funktion CALCULATE() zur Lösung von Geschäftsproblemen genutzt werden kann. Um diesem Tutorial zu folgen, kannst du auf den E-Commerce-Datensatz zugreifen, der auf DataLab gehostet wird.

Dieser Datensatz enthält Informationen über jeden Kauf, den ein Kunde tätigt: das Land, in dem er gekauft wurde, die Produktbeschreibung, das Datum und die Uhrzeit des Kaufs sowie die Menge und den Preis jedes gekauften Produkts.

Wir werden die folgenden Fragen mit Hilfe der Funktion CALCULATE() beantworten:

  • Wie hoch sind die monatlichen Gesamteinnahmen in Großbritannien im Vergleich zu allen anderen Ländern?
  • Wie viel Prozent der Gesamteinnahmen stammen aus dem Vereinigten Königreich?
  • Wie hoch ist der kumulierte Tagesumsatz?

Wie hoch sind die monatlichen Gesamteinnahmen in Großbritannien im Vergleich zu allen anderen Ländern?

Um diese Frage zu beantworten, müssen wir zwei Kennzahlen mit der Funktion CALCULATE() erstellen. Zunächst verwenden wir einen einfachen booleschen Filter, um eine Kennzahl zu erstellen, die die Gesamteinnahmen (mit Hilfe der Funktion SUM() ) in Großbritannien angibt:

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
              'Online Retail'[Country] = "United Kingdom")

Als Nächstes erstellen wir eine ähnliche Maßnahme, aber dieses Mal verwenden wir die Funktion FILTER(). Dieser Filterausdruck durchläuft jede Zeile der Spalte Land und gibt eine Tabelle mit den Zeilen zurück, die der Filterbedingung entsprechen. Die Funktion FILTER() wird hier benötigt, weil wir nicht in der Lage sind, eine einfache TRUE oder FALSE aus dem Filter zurückzugeben. Stattdessen erhalten wir eine Tabelle mit mehreren Werten.

Non-UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                    FILTER('Online Retail',
                        'Online Retail'[Country] <>"United Kingdom")

Wir sehen also, dass das Vereinigte Königreich im Vergleich zu allen anderen Ländern den größten Teil des Umsatzes für diesen E-Commerce-Shop ausmacht.

Power BI-Liniendiagramm mit den Einnahmen nach Jahr und MonatPower BI-Liniendiagramm mit den monatlichen Einnahmen. Bild vom Autor. 

Wie viel Prozent der Gesamteinnahmen stammen aus dem Vereinigten Königreich?

Dies ist eine sehr häufige Frage, mit der Power BI-Entwickler und -Nutzer konfrontiert werden, und sie ist ein perfekter Fall für die Anwendung der Funktion CALCULATE().

Um den prozentualen Anteil einer Summe zu ermitteln, müssen wir zunächst in der Lage sein, die Summe zurückzugeben, ohne dass sie von anderen Filterkontexten im Bericht beeinflusst wird. Um dies zu erreichen, verwenden wir einen Filtermodifikator, die sogenannte ALL() Funktion. Mit dieser Funktion gibst du an, für welche Spalte du möchtest, dass die Berechnung alle Filter ignoriert. 

In diesem Beispiel suchen wir nach dem Prozentsatz des Gesamtumsatzes in Großbritannien. Das bedeutet, dass unsere Berechnung alle Filter in der Spalte Land ignorieren sollte.

Total Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                  ALL('Online Retail'[Country]))

Dies ist relevant, weil CALCULATE() innerhalb eines Filterkontextes ausgeführt werden kann, der bereits Product[Color] filtert. In diesem Szenario bedeutet das Vorhandensein von ALL, dass der äußere Filter über Product[Color] ignoriert und durch den neuen, von CALCULATE() eingeführten Filter ersetzt wird. Das wird deutlich, wenn wir in der Matrix nicht nach Marke, sondern nach Farbe unterteilen.

Da wir nun unsere Gesamteinnahmen kennen, können wir eine Kennzahl konstruieren, die den prozentualen Anteil an den Gesamteinnahmen angibt. Da wir aber speziell an Großbritannien interessiert sind, verwenden wir erneut die Funktion CALCULATE(), aber dieses Mal mit einem einfachen booleschen Filter.

UK % of Revenue = CALCULATE(SUM('Online Retail'[Revenue])/[Total Revenue],
                    'Online Retail'[Country] = "United Kingdom")

Jetzt sehen wir, dass das Vereinigte Königreich 84% des Gesamtumsatzes für diesen E-Commerce-Shop ausmacht.

Prozentberechnung in Power BIProzentberechnung in Power BI. Bild vom Autor

Wie hoch ist der kumulierte Tagesumsatz?

Die kumulierten Einnahmen können einen Einblick in die Einnahmentrends geben. Wenn wir diese kumulierten Einnahmen in einem Diagramm darstellen, können wir auch sehen, ob die Einnahmen im Laufe der Zeit schneller gestiegen sind oder nicht.

Um diese Frage zu beantworten, müssen wir ein Maß mit der Funktion CALCULATE() sowie diese Filterfunktionen erstellen: ALLSELECTED(), FILTER(), und eine Auswertung mit der Funktion MAX().

Cumulative Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                FILTER( ALLSELECTED('Online Retail'[InvoiceDate]),
                'Online Retail'[InvoiceDate] <= MAX('Online Retail'[InvoiceDate])))

Gehen wir noch einmal darauf ein, warum diese Filter so wichtig sind:

  • Die Funktion FILTER() ermöglicht es, jeden der beiden von uns angegebenen Filter zeilenweise auszuwerten, und gibt in den Fällen, in denen es eine Übereinstimmung gibt, eine Tabelle zurück.

  • Die Funktion ALLSELECTED() setzt den Filter auf InvoiceDate in der aktuellen Abfrage zurück (im Ergebnis unter der aktuellen Abfrage ist das Liniendiagramm), lässt aber weiterhin externe Filter zu (z. B. von Slicern).

  • Die Funktion MAX() wird als Teil einer Auswertung verwendet - wir wollen die Einnahmen für alle Daten summieren, die an oder unter dem aktuellen Datum in der Abfrage liegen.

Berechnung der Einnahmen nach Datum in Power BIBerechnung der Einnahmen nach Datum in Power BI. Bild vom Autor. 

Schlussbemerkungen

In diesem Lernprogramm haben wir besprochen, was die Funktion CALCULATE() in Power BI ist und wie man sie benutzt. Wir haben die Funktion CALCULATE() auch auf einen realen E-Commerce-Datensatz angewendet und damit einige wichtige Geschäftsfragen beantwortet.

CALCULATE() ist eine der nützlichsten Funktionen in Power BI und du wirst sie wahrscheinlich häufig nutzen müssen, um Berichte zu erstellen und tiefere Einblicke in deine Daten zu erhalten. 

Ich hoffe, dieses Tutorial hilft dir nicht nur, die grundlegende Syntax von CALCULATE() zu verstehen, sondern auch, wie du als Power BI-Datenanalyst echte Geschäftsprobleme lösen kannst. 

Werde ein Power BI Datenanalyst

Beherrsche das beliebteste Business Intelligence Tool der Welt.

Kostenloses Lernen beginnen
Themen

Kurse für Power BI

Zertifizierung verfügbar

Kurs

Einführung in Power BI

4 hr
439.2K
Beherrsche die Grundlagen von Power BI und lerne, die Datenvisualisierungssoftware zu nutzen, um aussagekräftige Berichte zu erstellen.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow