Power BI DAX Grundlagen für Einsteiger

Inhalte

In diesem Insight erfahren Sie, wie Sie mit Power BI DAX als Einsteiger starten können. Mit den wichtigsten DAX-Grundlagen (Data Analysis Expressions) lernen Sie, Ihre Daten präziser auszuwerten und geschäftliche Fragestellungen effizienter zu lösen.

Was ist DAX und wie hängt es mit Power BI zusammen?

In Power BI werden sämtliche Berechnungen durch DAX gesteuert. Zwar lassen sich Summen, Durchschnitte oder einfache Visualisierungen auch ohne eigenes Eingreifen erstellen, da diese Funktionen automatisch im Hintergrund ausgeführt werden. Sobald jedoch komplexere Anforderungen entstehen, ist der Einsatz eigener DAX-Formeln unverzichtbar.

Individuell erstellte Formeln ermöglichen es, über Standardfunktionen hinauszugehen. Wenn zum Beispiel ein einfaches Mittel oder eine Summierung nicht ausreichen, bietet DAX die nötige Flexibilität, maßgeschneiderte Lösungen zu entwickeln.

Darüber hinaus sorgt DAX für mehr Effizienz: Wird eine Formel an mehreren Stellen verwendet, reicht es, diese einmal zentral zu definieren. Änderungen müssen dann nicht mehr in jedem einzelnen Diagramm oder Ausdruck vorgenommen werden, sondern nur an einer Stelle.

Typische Einsatzbereiche von DAX in Power BI

DAX-Formeln werden in Power BI in drei Szenarien angewendet:

  1. Berechnete Tabellen
  2. Berechnete Spaltenn
  3. Kennzahlen

 

Anstatt Daten manuell aus einer Quelle zu importieren, lassen sich mithilfe von DAX die Inhalte einer Spalte oder sogar ganzer Tabellen dynamisch berechnen.

In Microsoft Excel finden Sie diese Möglichkeiten im Menü „Modellierung“: Dort können Sie eine neue Kennzahl hinzufügen, eine berechnete Spalte erstellen oder eine zusätzliche Tabelle anlegen.

Eine weitere Möglichkeit besteht darin, im Bereich „Felder“ direkt auf ein Feld zu klicken und über das Kontextmenü eine neue Kennzahl oder eine berechnete Spalte auszuwählen.

Eigene DAX-Formeln erstellen

DAX-Formeln sind übersichtlich aufgebaut und lassen sich gut nachvollziehen. Dadurch fällt es leicht, den Einstieg zu finden und selbst erste Formeln zu schreiben. Im nächsten Schritt sehen wir uns die grundlegenden Elemente an, die eine korrekte DAX-Syntax ausmachen.

  • Name der Kennzahl oder der berechneten Spalte
  • Gleichheitszeichen (=) als Startpunkt der Formel
  • DAX-Funktion
  • Klammern zur Abgrenzung der Parameter
  • Verweise auf Spalten und/oder Tabellen

Werden in einer Funktion mehrere Parameter benötigt, werden diese durch Kommas getrennt.

DAX-Funktionen können ineinander verschachtelt werden. Dadurch können auch komplexe Operationen effizient formuliert werden. Besonders hilfreich ist dies bei mehrfach verschachtelten IF-Abfragen oder beim Einsatz von IFERROR, mit dem Fehler in einer Formel durch einen definierten Ersatzwert abgefangen werden. Einige Funktionen sind für Berichte und Analysen besonders relevant:

  • COUNT: Zählt die Anzahl von Werten.
  • SUM: Addiert Werte.
  • AVERAGE: Berechnet den Mittelwert.
  • MIN / MAX: Ermittelt den kleinsten bzw. größten Wert.
  • SUMMARIZE: Erstellt eine Tabelle mit Gruppierungen, die als Grundlage für weitere Aggregationen dient.
  • CALCULATE: Führt Berechnungen unter Berücksichtigung eines oder mehrerer Filter durch. Wenn mehrere Filter angegeben sind, wird nur gerechnet, wenn alle Bedingungen erfüllt sind.
  • IF: Gibt abhängig von einer Bedingung unterschiedliche Ergebnisse zurück.
  • IFERROR: Fängt Fehler einer inneren Funktion ab und ersetzt sie durch einen definierten Wert.
  • ISBLANK: Prüft, ob eine Spalte leere Einträge enthält, und liefert „true“ oder „false“.
  • DATEDIFF: Berechnet den Abstand zwischen zwei Datumswerten, wahlweise in Tagen, Monaten, Quartalen oder Jahren.

Kontext in DAX-Formeln

DAX-Formeln in Power BI sind kontextabhängig. Das bedeutet, dass ihr Ergebnis je nach Situation, in der sie verwendet werden, unterschiedlich ausfallen kann. Ein gutes Verständnis von Kontext ist entscheidend, um Formeln korrekt zu schreiben und Fehler schnell zu beheben.

Grundsätzlich unterscheidet man zwischen Zeilenkontext und Filterkontext.

Zeilenkontext

Der Zeilenkontext beschreibt die aktuelle Zeile innerhalb einer Tabelle – inklusive aller Spalten sowie der Spalten von verbundenen Tabellen. So weiß eine Formel, welche Zeile sie für die Berechnung heranziehen soll.

Ein Beispiel für eine Berechnung mit Zeilenkontext:

Kosten pro Einheit = skillBI[Umsatzkosten] / skillBI[Verkaufte Einheiten]

In diesem Beispiel wird die Berechnung der Kosten pro Einheit zeilenweise durchgeführt. Das bedeutet, dass DAX wissen muss, was die aktuelle Zeile ist, wenn es den Datensatz durchläuft, die Berechnung durchführt und die neue Spalte mit dem Ergebnis auffüllt.

Der Zeilenkontext ist in berechneten Spalten implizit. Dies liegt daran, dass die Berechnungen, die in berechneten Spalten durchgeführt werden, zeilenweise erfolgen und der Zeilenkontext daher standardmäßig definiert ist. Bei Kennzahlen ist dies jedoch nicht der Fall, da die Aggregationen auf alle Zeilen in einer Tabelle angewendet werden. Diese Berechnungen müssen keine Kenntnis von einer aktuellen Zeile haben, da alle Zeilen zusammen aggregiert werden. Anders sieht es bei Kennzahlen (Measures) aus: Hier wird keine einzelne Zeile, sondern standardmäßig die gesamte Tabelle betrachtet. Aggregationen wie SUM oder AVERAGE funktionieren daher ohne Bezug auf eine bestimmte Zeile.

Ein Beispiel für eine Kennzahl ist die folgende DAX-Formel:

Gewinnspanne = SUM (skillBI[Gewinn] ) / SUM (skillBI[Umsatzerlöse] )

In dieser Formel werden die Spalten Gewinn und Umsatzerlöse jeweils summiert, um dann daraus eine einzige Zahl (die Gewinnspanne) zu berechnen. DAX benötigt dazu keine Information über die gerade betrachtete Zeile.

Soll auch in Kennzahlen ein Zeilenkontext berücksichtigt werden, kommen spezielle Iteratorfunktionen ins Spiel, z. B. SUMX, AVERAGEX oder COUNTX. Diese Funktionen führen zunächst eine Berechnung für jede Zeile aus und aggregieren anschließend das Gesamtergebnis.

Ein Beispiel:

Durchschnittliche Kosten pro Einheit = AVERAGEX (skillBI, skillBI[Umsatzkosten] / skillBI[Verkaufte Einheiten] )

Hier wird zuerst für jede einzelne Zeile der Ausdruck Umsatzkosten / Verkaufte Einheiten berechnet. Erst danach bildet DAX den Durchschnitt über alle Zeilen hinweg.
Auf diese Weise wird der Zeilenkontext explizit definiert, ohne dass eine zusätzliche berechnete Spalte angelegt werden muss. Das spart nicht nur Speicherplatz, sondern macht Berichte auch performanter.

Filterkontext

Der Filterkontext legt fest, welche Zeilen oder Spalten in eine Berechnung einbezogen werden. Er baut auf dem Zeilenkontext auf und kann auf verschiedene Weise gesetzt werden:

  • direkt in einer DAX-Formel
  • über den Filterbereich in Power BI
  • mithilfe von Slicern (Datenschnitt-Visuals)
  • durch die Felder in einer Visualisierung, z. B. Spalten und Zeilen in einer Matrix

Ein typisches Beispiel ist die CALCULATE-Funktion. Mit ihr lassen sich zusätzliche Bedingungen zu einer Kennzahl hinzufügen:

Schweiz Gewinnspanne = CALCULATE (SUM (skillBI[Gewinn] ) / SUM (skillBI[Umsatzerlöse] ), skillBI[Land] = „Schweiz“)

Fazit

Das Zusammenspiel von Zeilenkontext und Filterkontext ist ein Grundprinzip von DAX. Während der Zeilenkontext vorgibt, auf welche Zeile sich eine Berechnung bezieht, grenzt der Filterkontext die Menge der Daten ein, die berücksichtigt werden.

DAX stellt mehr als 250 Funktionen bereit, mit denen sich selbst komplexe Abfragen umsetzen lassen. Wer die Bedeutung von Kontexten versteht und Iteratorfunktionen gezielt einsetzt, kann Power-BI-Berichte nicht nur korrekter, sondern auch effizienter gestalten.

Sie wollen die DAX-Formeln und deren Möglichkeiten besser verstehen?

Machen Sie sich und Ihr Team fit mit den Schulungen für Unternehmen von skill BI und kontaktieren Sie uns gerne für mehr Informationen einer Power BI Schulung und den Möglichkeiten von DAX in Ihrem Power BI Dashboard!

Kontaktdaten für Ihre unverbindliche Schulungs-Anfrage