DAX-Abfragen in Power BI meistern: Struktur, Logik und Best Practices
- Admin

- vor 16 Stunden
- 5 Min. Lesezeit
Einführung
Haben Sie sich jemals gefragt, was im Hintergrund passiert, wenn Sie ein Visual in Power BI ziehen? Das sind DAX-Abfragen in Aktion.
Während die meisten Benutzer DAX-Formeln zur Berechnung von Kennzahlen oder Spalten verwenden, gehen DAX-Abfragen noch einen Schritt weiter: Sie ermöglichen die direkte Abfrage des Modells, das Testen von Logik und das Debuggen von Berechnungen. In diesem Beitrag erklären wir, was DAX-Abfragen sind, wie sie funktionieren, ihre Struktur, Beispiele, Fallstricke und Best Practices – und geben Ihnen einige Profi-Tricks, mit denen Sie Ihre Power BI-Kenntnisse erweitern können.
Was sind DAX-Abfragen?
In Power BI erfüllt DAX (Data Analysis Expressions) zwei Hauptzwecke:
DAX-Formeln erstellen Logik innerhalb Ihres Modells (Kennzahlen, Spalten, berechnete Tabellen).
DAX-Abfragen rufen Daten aus dem Modell ab oder untersuchen diese – ähnlich wie SQL-SELECT-Anweisungen.
Jede von Ihnen erstellte Visualisierung führt automatisch eine DAX-Abfrage im Hintergrund aus. Sie können diese Abfragen mit dem Performance Analyzer oder DAX Studio anzeigen.
Seit Ende 2023 bietet Power BI Desktop die DAX-Abfrageansicht . Mit dieser Funktion können Sie DAX-Abfragen direkt in Ihrem Bericht schreiben, ausführen und testen . Ideal zum Debuggen und zur Leistungsoptimierung.
Grundstruktur einer DAX-Abfrage
Eine DAX-Abfrage enthält typischerweise zwei Hauptabschnitte:
DEFINE — optionalDefiniert temporäre (abfragebezogene) Kennzahlen oder Variablen.
EVALUATE — erforderlich Führt einen DAX-Ausdruck aus, der eine Tabelle zurückgibt.
Sie können auch optionale Teile wie ORDER BY , START AT oder mehrere EVALUATE- Anweisungen anhängen.

Beispiel 1: Die einfachste Abfrage
EVALUATE
'Sales'
Gibt die gesamte Verkaufstabelle aus Ihrem Modell zurück – ähnlich wie SELECT * FROM Sales.
Beispiel 2: Eine Kennzahl definieren und abfragen
DEFINE
MEASURE Sales[DiscountedSales] = [Total Sales] * 0.9
EVALUATE
SUMMARIZECOLUMNS (
Product[Category],
"Disc Sales", [DiscountedSales]
)
DEFINE erzeugt eine temporäre Kennzahl DiscountedSales.
EVALUATE fasst die Daten nach Kategorien zusammen und gibt sie als Tabelle zurück.
Sie können diese temporäre Maßnahme mithilfe von CodeLens in der Abfrageansicht testen, anpassen und sogar in Ihr Modell übernehmen.
Beispiel 3: Ergebnisse sortieren
EVALUATE
SUMMARIZECOLUMNS (
'Date'[Year],
"Total Sales", [Total Sales]
)
ORDER BY
'Date'[Year] ASC
🧠 Hinweis: Sortierregeln in Ihrem Modell (z. B. „Monatsname sortiert nach Monatsindex“) werden in DAX-Abfragen nicht automatisch angewendet. Sie müssen die Sortierreihenfolge explizit angeben.
Wie DAX-Abfragen funktionieren
Beim Erstellen von Visualisierungen wandelt Power BI Ihre Auswahlen, Filter und Kennzahlen automatisch in DAX-Abfragen um.
Tools wie DAX Studio und Query View ermöglichen die direkte Untersuchung dieser Abfragen. Sie können:
Debug-Maßnahmen unabhängig voneinander durchführen.
Testen Sie, wie sich Filter auf die Ergebnisse auswirken.
Optimieren Sie die Performance, bevor Sie Änderungen übernehmen.
Power BI begrenzt die Ausgabe jeder einzelnen Abfrage auf etwa 1 Million Werte oder 15 MB , um die Leistung im Rahmen zu halten.
Kernfunktionen für DAX-Abfragen
Funktion | Beschreibung | Typische Verwendung |
ZUSAMMENFASSUNG (Spalten) | Gruppiert nach Spalten und berechnet Kennzahlen | Berichtstabellen, Aggregationen |
ADDCOLUMNS() | Fügt einer Tabelle berechnete Spalten hinzu | Füge abgeleitete Werte zu den Ergebnissen hinzu. |
FILTER() | Filtert Zeilen aus einer Tabelle | Bedingungen auf Zeilenebene |
TOPN() | Beschränkt die Zeilenanzahl anhand einer Sortierspalte | „Top 10“-Anfragen |
REIHE() | Erstellt eine einzeilige Tabelle | Gibt ein einzelnes skalares Ergebnis zurück |
PROBE() | Zieht zufällige Stichproben aus Zeilen | Testen und Debuggen |
Beispiel 4: Filter und Berechnungen kombinieren
DEFINE
MEASURE Sales[NetSales] = SUM(Sales[Amount]) - SUM(Sales[Discount])
EVALUATE
ADDCOLUMNS (
FILTER (
SUMMARIZECOLUMNS (
'Date'[Year],
'Product'[Category],
"Net", [NetSales]
),
[Net] > 100000
),
"PerOrder", DIVIDE([NetSales], [Order Count])
)
ORDER BY
'Date'[Year], [PerOrder] DESC
Hier sind wir:
Berechnen Sie eine benutzerdefinierte Nettoumsatzkennzahl.
Kategorien mit geringer Leistung herausfiltern.
Fügen Sie eine abgeleitete Spalte „PerOrder“ hinzu.
Sortieren Sie das Ergebnis zur besseren Lesbarkeit.
Fallstricke und häufige Fehler
Crossjoin-Explosionen: Wenn man vergisst, Kennzahlen oder Filter in SUMMARIZECOLUMNS einzubeziehen, kann dies zu riesigen Zwischentabellen und einem Leistungseinbruch führen.
Annahmen zur Sortierung: Die Sortierung auf Modellebene wird nicht auf die Ergebnisse von DAX-Abfragen übertragen. Verwenden Sie immer ORDER BY.
Power BI beschränkt die Ausgabegröße – große Abfragen können Ergebnisse stillschweigend abschneiden.
Verwechslung von leeren Werten mit Nullwerten: Vermeiden Sie unnötige Ersetzungen von leeren Werten durch Nullwerte. Diese können die Filterlogik in der Visualisierung verfälschen.
Aufwändige Fehlerbehandlung IFERROR() oder ISERROR() wertet zeilenweise aus – verwenden Sie sie sparsam.
Logik nicht wiederholt berechnen. Variablen oder Kennzahlen wiederverwenden, um die doppelte Neuberechnung komplexer Logik zu vermeiden.
Virtuelle Beziehungen nutzen TREATAS()- oder FILTER()-Verbindungen langsamer als physische Beziehungen. Verwenden Sie diese nur, wenn es unbedingt notwendig ist.
Die Aussage „Es kommt darauf an“ sollte man ignorieren. Leistungsoptimierungen variieren je nach Datenform, -größe und -kardinalität. Führen Sie daher immer Benchmarks durch.
Bewährte Methoden zum Schreiben von DAX-Abfragen
💡 1. Nutzen Sie Variablen großzügig: Erfassen Sie Zwischenergebnisse mit VAR/RETURN – sauberer und schneller.
💡 2. Maßnahmen wiederverwendbar machen: Anstatt Logik zu duplizieren, verweisen Sie auf bestehende Maßnahmen.
💡 3. Filtern Sie die Reduce-Daten frühzeitig an der Quelle mit FILTER() oder KEEPFILTERS(), bevor Sie komplexe Aggregationen durchführen.
💡 4. Verwenden Sie eine explizite Sortierung: Fügen Sie immer eine ORDER BY-Klausel hinzu, um Klarheit und Konsistenz zu gewährleisten.
💡 5. Optimieren Sie die Lesbarkeit: Verwenden Sie klare Bezeichnungen für Kennzahlen und Aliase, damit Sie (oder Ihre Teamkollegen) Ihre Arbeit später verstehen können.
💡 6. Schrittweises Testen: Klein anfangen – Zwischenschritte ausführen, bevor komplexe Abfragen erstellt werden.
💡 7. Nutzen Sie DAX Studio & Query View: Beide Tools zeigen Leistungsmetriken und Abfragepläne an, um Ihnen bei der Identifizierung von Engpässen zu helfen.
💡 8. Kommentieren Sie Ihren Code: Verwenden Sie // oder /* … */ für Erklärungen – unerlässlich für kollaborative Modelle.
💡 9. Ergebnisse einschränken: Verwenden Sie TOPN() oder SAMPLE() für Vorschauen, anstatt ganze Tabellen abzurufen.
💡 10. Optimierte Abfragen speichern: Die Abfrageansicht ermöglicht es Ihnen jetzt, erfolgreiche abfragebezogene Maßnahmen direkt im Modell anzuwenden.
Profi-Tricks für fortgeschrittene Benutzer
1️⃣ Abfrage einer einzelnen Kennzahl
EVALUATE
{ [Total Sales] }
Gibt eine Zeile und eine Spalte aus – perfekt zum Debuggen einer Skalargröße.
2️⃣ Mehrere Ergebnisse in einer Abfrage
EVALUATE
TOPN(5, 'Product', [Total Sales])
EVALUATE
TOPN(5, 'Customer', [Total Sales])
Jeder EVALUATE-Block gibt eine eigene Ergebnistabelle in der Abfrageansicht zurück – ideal für vergleichende Prüfungen.
3️⃣ Parametrisierte Abfragen
Sie können Parameter dynamisch in Ihre Abfragen einfügen (über XMLA-Endpunkte oder Tabular Editor-Skripte), um interaktives Testen zu beschleunigen.
4️⃣ Stichprobendaten
EVALUATE
SAMPLE (100, 'Sales', Sales[Amount], ASC)
Ideal zum Anzeigen einer Vorschau großer Datensätze, ohne auf das vollständige Laden der Abfrage warten zu müssen.
5️⃣ Leistung prüfen
Verwenden Sie DAX Studio → Server Timings oder Query Diagnostics , um die Ausführungszeit zu messen und rechenintensive Filter oder langsame Beziehungen zu identifizieren.
Zusammenfassung
Konzept | Wichtigste Erkenntnis |
DAX-Abfragen vs. Formeln | Formeln bilden die Logik; Abfragen extrahieren oder testen sie. |
Struktur | DEFINIEREN (optional) → AUSWERTEN (erforderlich) → optional ORDER BY. |
Bewährte Verfahren | Frühzeitig filtern, Maßnahmen wiederverwenden, Code kommentieren und Ergebnisse einschränken. |
Werkzeuge | DAX Studio, Abfrageansicht, Leistungsanalysator. |
Fallstricke | Kreuzverbindungsexplosionen, Sortierannahmen, wiederholte Logik. |
Profi-Tricks | Variablen, Stichproben, Multi-EVALUATE, Parametrisierung verwenden. |
DAX-Abfragen sind das Labor von Power BI. Sie ermöglichen es Ihnen, Logik zu analysieren, zu testen und zu optimieren, bevor sie live geht. Ob Sie Kennzahlen validieren, Visualisierungen debuggen oder die Leistung feinabstimmen – die Beherrschung von DAX-Abfragen macht Sie zu einem deutlich selbstbewussteren Power BI-Entwickler.
Benötigen Sie ein Power BI DAX-Starterpaket mit einer Anleitung, den besten Funktionen und deren Anwendung in Power BI-Berichten? Mit nur wenigen Anpassungen für schnelle und effiziente Workflows? Dann schauen Sie es sich an.








Kommentare