So machen Sie sich die DAX-Funktionen untertan!

DAX (Data Analysis Expressions) ist eine Bibliothek mit Funktionen, Operatoren und Konstanten, die kombiniert werden können, um Formeln und Ausdrücke in PowerPivot für Excel zu erstellen.

DAX-Funktionen sind den Ihnen bekannten Excel-Tabellenfunktionen sehr ähnlich. Zum Erstellen geben Sie ein Gleichheitszeichen gefolgt von einem Funktionsnamen oder Ausdruck sowie den erforderlichen Werten oder Argumenten ein. Wie Excel stellt DAX eine Vielzahl von Funktionen bereit, die Ihnen ermöglichen, mit Zeichenfolgen zu arbeiten, Berechnungen mit Datums- und Uhrzeitangaben durchzuführen und bedingte Werte zu erstellen. Ein großer Teil der Excel-Tabellenfunktion ist hier integriert.

Allerdings ist der Umgang mit den DAX-Funktionen etwas gewöhnungsbedürftig, da sie sich in folgenden Punkten unterscheiden:

  • Eine DAX-Funktion verweist immer auf eine ganze Spalte oder eine ganze Tabelle. Möchten Sie einen Teil der Werte einer Tabelle oder Spalte verwenden, müssen Sie innerhalb der Funktion mit Filtern arbeiten (ähnlich der Funktion SUMMEWENN). Es werden keine Zellbereiche oder Bereiche als Verweise akzeptiert.
  • Stellen Sie sich vor, sie würden eine Excel-Tabelle über Autofilter auf die gewünschten Zeilen reduzieren und davon eine Summe berechnen. Das ist die Arbeitsweise von DAX-Funktionen! Erst die Filterkriterien „abarbeiten“, dann das gewünschte Ergebnis berechnen!
  • Einige DAX-Funktionen ermöglichen der im Reporting beliebten Zeitvergleich zum Wert des Vormonats, Vorquartals, Vorjahres usw…
  • DAX-Datums- und Uhrzeitfunktionen geben einen datetime-Datentyp zurück und keine serielle Zahl.
  • Für die Daten in einer Spalte wird immer derselbe Datentyp erwartet. Wenn die Daten nicht vom gleichen Typ sind, wird in DAX die gesamte Spalte in den Datentyp geändert, der am besten zu allen Werten passt.
  • Einige DAX-Funktionen geben eine Tabelle statt eines Skalars (Vektor) zurück und müssen in eine Funktion eingeschlossen werden, die die Tabelle auswertet und einen Skalar zurückgibt. Lediglich, wenn die Tabelle eine einzelne Spalte (einzelne Zeilentabelle) ist, wird sie als Skalarwert behandelt.

Die Schreibweise von DAX-Funktionen unterscheidet sich ebenfalls von der der Tabellenfunktionen, ist ebenfalls gewöhnungsbedürftig. Es handelt sich eben nicht um Excel-Funktionen, auch wenn man glaubt, in Excel zu arbeiten!

  • Eine DAX-Formel beginnt immer mit einem Gleichheitszeichen (=).
  • Nach dem Gleichheitszeichen können Sie einen beliebigen Ausdruck angeben, der einen Skalar ergibt, oder einen Ausdruck, der in einen Skalar konvertiert werden kann (+, -, *, / , >= , &&,).
  • Verweise sind immer Tabellen und Spalten als Eingaben für Funktionen, nie ein Array oder einen beliebigen Satz von Werten.
  • Die meisten DAX-Funktionen erfordern mindestens ein Argument, dabei kann es sich um Tabellen, Spalten, Ausdrücke und Werte handeln. Sie können auch Funktionen innerhalb anderer Funktionen schachteln.

Warum DAX-Funktionen?

Mit DAX-Funktionen können Sie sog. Measures erstellen. Ein Measure ist eine Formel, die speziell für die Verwendung in einer Pivot-Tabelle (entspricht einem berechneten Feld) auf der Basis eines PowerPivot-Datenmodells (=lokaler OLAP-Cube) erstellt wird. Ein Measure wird im Wertebereich einer Pivot-Tabelle verwendet. Bei einer berechneten Spalte oder einer herkömmlichen Pivot-Tabelle werden bei jeder Veränderung (z.B. Auswahlfilter) alle Berechnungen aktualisiert. Das ist bei größeren Datenmengen sehr unperfomant.  Berechnungsergebnisse werden durch Measures im Cube gespeichert und nur neu Berechnet, wenn die Datenquelle durch den Cube aktualisiert werden. Also einmal ein u.U. längere Aktualisierung der Daten und Berechnung und nicht eine permanente, lang andauernde Aktualisierung. Measures sind daher berechneten Spalten immer vorzuziehen, da sie performanter sind.

Wenn Sie das Measure hinzugefügt haben, wird die Formel für jede Zelle im Wertebereich der PivotTable ausgewertet. Da ein Ergebnis für jede Kombination von Zeilen- und Spaltenüberschriften erstellt wurde, kann das Ergebnis für das Measure in jeder Zelle abweichen.

Mehr dazu in unserem Seminar Pivot und Powerpivot in Excel und im BLOG-Beitrag zu Business Intelligence.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s