Was ist ein DAX-Measure?
Ein DAX-Measure ist ein berechneter Einzelwert der Formelsprache DAX (Data Analysis Expressions). Wie auch Tabellen, Spalten und Beziehungen sind DAX-Measures ein integraler Bestandteil des Data Sets von Power BI, Power Pivot oder dem tabularen Analysis Service. Measures werden anhand der verfügbaren Daten des erstellten Datenmodells programmiert. Sie werden entweder dynamisch beim interaktiven Anzeigen von Dashboards und Reports berechnet oder statisch als Tabellenspalten.
DAX-Measures in der Übersicht
Welche Beispiele gibt es für DAX-Measures?
Alles, was anhand verfügbarer Daten berechnet werden kann, zum Beispiel:
- Finanz-Kennzahlen wie Verkaufserlös, EBIT oder Eigenkapitalrendite
- Mengen wie Lagerbestand, Verkaufsmenge oder Produktionsmenge
- Messwerte wie Temperatur, Druck oder CO2-Konzentration
Was kann ein DAX-Measure?
Ein DAX-Measure kann
- einen Wert ermitteln oder berechnen.
- alle DAX-Funktionen, Operatoren oder Abfragen verwenden.
- Variablen einsetzen, um mehrschrittige Berechnungen durchzuführen.
- das gesamte Datenmodell zur Berechnung verwenden.
- den Filterkontext aktiv verändern.
- virtuell neue Filter setzen oder bestehende Filter aufheben.
- Tabellenbeziehungen virtuell verändern.
- andere Measures für seine eigene Berechnung verwenden.
- virtuelle Tabellen erstellen und sortieren.
Wie funktioniert ein DAX-Measure?
Zur Erstellung wird ein Measure als Text geschrieben.
- Es besteht aus einer oder mehreren Anweisungen der Formelsprache DAX.
- Es verwendet meistens eine oder mehrere Tabellen aus dem Datenmodell, kann aber auch feste Werte verwenden und liefern.
- Wird ein Measure aufgerufen, dann
- erbt es alle Filter, die auf das aufrufende Objekt (z.B. ein Liniendiagramm) wirken.
- bekommt es alle Filter, die das aufrufende Objekt selbst für das DAX-Measure erzeugt (z.B. den Monat).
- wendet es die eigene Programmierung anhand der wirkenden Filter an (Filterkontext).
- Es verändert die wirkenden Filter und
- führt seine programmierten Berechnungen aus.
- liefert es genau einen Wert an das aufrufende Objekt zurück (Skalarwert).
Wo wird ein DAX-Measure eingesetzt?
Ein Measure wird von einer Tabellenspalte, einer Visualisierung oder einer DAX-Abfrageansicht aufgerufen.
- Tabellenspalte:
- Das Measure wird für jede Zeile der Tabelle aufgerufen.
- Das Measure kennt die Werte der aktuellen Zeile der Tabelle und kann diese zum Filtern des Datenmodells verwenden.
- Zeilenkontext oder Row-Context
- Visualisierung (Balkendiagramme, Liniendiagramme, KPI-Karten, Tabellen, etc.):
- Visualisierungen rufen ein Measure häufig viele Male auf (z.B. 12-mal für jeden Monat im Diagramm).
- Das Measure bekommt seine Filter vom Visual, anhand dessen berechnet es seinen Wert.
- Filterkontext
- DAX-Abfrageansicht:
- zum Testen und zum Entwickeln von DAX-Measures oder DAX-Abfragen
- in Power BI oder externen Tools
- Mit dem DAX-Befehl EVALUATE werden DAX-Measures manuell ausgeführt.
- Die Ergebnis-Werte werden aufgeführt.
Welche Vorkenntnisse brauche ich für DAX-Measures?
Um DAX-Masures zu erstellen, sind folgende Vorkenntnisse erforderlich:
- Verstehen der Berechnung des zu ermittelnden Wertes.
- Befehle der Formelsprache DAX (Data Analysis Expressions)
- Verstehen, was ein Datenmodell ist (Sternschema).
- Verstehen, was der Sinn von Beziehungen in einem Datenmodell ist.
- Das Konzept des Evaluierungskontextes verstehen (Filterkontext und Zeilenkontext).
Wie kann ich das Erstellen von DAX-Measures lernen?
- Für das Erstellen von DAX-Measures muss die Formelsprache DAX erlernt werden.
- Es sind Daten erforderlich, auf denen man Berechnungen durchführen möchte. Zum Testen bieten sich die AdventureWorks-Beispieldatenbanken von Microsoft an.
- Am einfachsten sind DAX-Measures im kostenlosen Power BI Desktop zu erlernen.
- Alternativ in Excel Power-Pivot
- Software-Entwickler können im Microsoft Visual Studio einen tabularen Analysis Service erstellen.
Welche Alternativen gibt es zu DAX-Measures?
Zu den DAX-Measures gibt es diese Alternativen:
- Werte können in SQL oder Power Query vorberechnet werden. Die Nachteile hierbei sind:
- Performance-Einbußen
- hoher Speicherbedarf
- Höhere Programmiersprache Python mit den Bibliotheken Pandas und NumPy
- Statistische Programmiersprache R
Wie unterscheiden sich DAX-Measures von Excel-Formeln?
Diese sehen zwar auf den ersten Blick ähnlich aus, unterscheiden sich aber deutlich. Nachfolgend eine Gegenüberstellung:
Excel-Formeln | DAX-Measures |
Excel-Formeln sind vordefiniert und können verschachtelt werden. | DAX-Measures werden individuell aus der DAX-Formelsprache geschrieben /programmiert. |
Excel-Formeln holen Werte aus anderen Excel-Zellen. | DAX-Measures verwenden das erstellte Datenmodell. |
Das Ergebnis einer Excel-Formel steht in genau einer Zelle. | DAX-Measures können in beliebig vielen Visuals oder Tabellenspalten verwendet werden. |
Excel-Formeln führen genau eine Berechnung durch. | DAX-Measures können dank Variablen komplexe, mehrschrittige Berechnungen durchführen. |
Excel-Formeln werden durch die Veränderung anderer Zellen ausgelöst. | DAX-Measures werden durch das Laden der Daten oder Benutzeraktionen ausgelöst. |
Excel-Formeln verwenden die Daten wie sie aktuell dargestellt sind. | DAX-Measures können die Filter auf den Daten verändern und sogar Beziehungen zwischen Tabellen beeinflussen. |
Excel-Formeln liefern Berechnungsergebnisse in definierten Excel-Zellen. | DAX-Measures liefern Berechnungsergebnisse für Visualisierungen wie Diagramme oder Karten. |
Wer bietet DAX-Measures an?
DAX wird von Microsoft angeboten und ausschließlich in Microsoft Produkten wie Power BI verwendet.
Sie möchten mehr über DAX-Measures erfahren? Ihr Ansprechpartner:
Andreas Koblischke,
Geschäftsführer