Power Query M oder DAX? Beides!

dax and M

Lasst uns diesen Kampf ein für alle Mal beenden. Wenn Ihre Beziehung mit Power BI noch jung ist, sind Sie wahrscheinlich genauso fasziniert wie verwirrt. Möglicherweise haben Sie bereits von Power Query und seiner M-Sprache gehört – oder Sie haben sie sogar in Excel verwendet. Und dann wäre da noch DAX. M, DAX, warum gibt es mehrere Programmiersprachen in Power BI? Was ist der Unterschied? Und wieso ist all das sooo bloody hard?

Keine Sorge. Was für den Novizen verwirrend ist, wird mit reiferer Liebe schnell klar und logisch. In einem Satz? M wird fürs Data Engineering benutzt, und DAX für die Datenanalyse.

Noch nicht ganz klar? Kein Problem, wir tasten uns erst mal sachte ran. In diesem Artikel lernen Sie Schritt für Schritt, was Power Query, M und DAX ist, und wofür man welches verwendet.

Starten wir mit...

Was ist Power Query M?

Im Gegensatz zu anderen Business Intelligence Tools beinhaltet Power BI sein eigenes Data Engineering Tool. Somit kann der fortgeschrittene Business User sein eigenes kleines Data Warehouse basteln.

Einige Benutzer sind bereits mit Power Query bekannt durch Excel oder anderen Microsoft-Tools (z. B. Power Apps, Azure Data Factory, SQL Server Analysis Services oder Dynamics 365 Customer Insights).  Das erleichtert natürlich den Einstieg.

In erster Linie ist Power Query ein ETL-Tool (Extract Transform Load). Es hilft,

  1. Daten aus verschiedenen Quellen zu saugen. Wir nennen das ingestion
  2. Diese Daten zu kombinieren, zu bereinigen und zu modellieren. Wir nennen das data wrangling

Mit seiner gut angeordneten grafischen Benutzeroberfläche, ähnlich der Umgebung anderer Microsoft-Tools, wird selbst der Anfänger bald in der Lage sein, komplexe Bereinigungs- und Formatierungstransformationen durchzuführen, ohne eine Zeile Code berühren zu müssen.

Nachdem Sie und Power Query sich ein bisschen näher gekommen sind, können Sie - im gegenseitigen Einverständnis - intim werden: Erkunden Sie M.s schmutzige kleine Geheimnisse, und Sie werden eine erwachsene funktionalen Programmiersprache entdecken.

Christoph Glur

So praktisch das Point-and-Click in Power Query ist, so öffnet M noch mehr Türen, mit noch mehr Möglichkeiten. Ein Punkt, den ich sehr an Power Query / M mag, ist, dass ich zwischen No-Code und Codieren wechseln kann, wann immer ich will.

power query M
In verschiedenen Abfragen werden Daten aus den Quellen bezogen und in ein Mini-WareHouse gefüttert (1). Jede Abrage besteht aus einer Anzahl von aufeinanderfolgenden Schritten (2). Jeder Schritt besteht aus M code (3). Der fortgeschrittene Benutzer kann aus die ganze Abfrage in M anschauen und bearbeiten (4).

Ein weiterer wichtiger Vorteil ist eine bessere Größenkomprimierung im Vergleich zu DAX. Wenn ich die unnötigen Daten bereits im Ingestion-Step in Power Query ausfiltere, bleiben meine Date schön klein und dadurch einfacher zu handhaben.  

Intelligenz gefällig?

Das Dashboard des Monats publiziert einmal pro Monat Business Intelligenz: Innovative Dashboards, Hintergrundinformationen zu KPIs, Management und Methoden. No Bullshit, no Spam. Unternehmerehrenwort. Jetzt registrieren!

DAX

DAX oder Data Analysis Expressions ist eine andere Programmiersprache in Power BI. Sie unterscheidet sich stark von M und hat einen ganz anderen Anwendungsfall. DAX ähnelt am ehsten noch Microsoft Excel-Funktionen. Technisch gesehen ist DAX keine vollständige Programmiersprache, sondern eine Ansammlung von Funktionen und Operatoren.

Benutzer mit Programmierkenntnissen finden den Einstieg in M leichter als in DAX. Die schwierigste Hürde am Anfang ist zu verstehen, dass sich jedes DAX-Measure auf unterschiedliche Daten-Kontexte im analytischen Datenmodell beziehen kann - und wird. Verzweifelte Ausrufe in unserem Büro sind an der Tagesordnung: "Aber was macht das Ding bloss? Wenn ich das nur debuggen könnte!"  

Derzeit sind in DAX über 250 Funktionen im Einsatz und die Zahl steigt weiter. Eine Übersicht finden Sie auf der Dokumentationsseite von Microsoft.

Die DAX-Funktionen umfassen Filter, Aggregationen, Finanzfunktionen, mathematische und logische Funktionen, Daten-Relationsfunktionen, Zeit- und Datumsintelligenz und viele andere.  

DAX in Power BI Desktop
DAX Code wird zum Beispiel verwendet, um in Power BI Desktop ein Measure zu definieren (1). Der Einstieg gelingt am ehsten mit Quickmeasures (2).

Mit DAX-Funktionen können Sie Kennzahlen (Measures) und berechnete Spalten erstellen. Measures sind dynamische Berechnungsformeln, bei denen sich die Ergebnisse je nach Kontext ändern. Measures berechnen im Vergleich zu berechneten Spalten nicht Werte für jede Zeile, sondern geben aggregierte Werte aus ausgewählten Spalten oder dem Dataset zurück. Sie sind äußerst nützlich für die Datenvisualisierung und Datenanalyse.  

Meine Empfehlung für den Anfänger: Benutzen Sie wenn immer möglich die Quick Measure-Funktionen, die eine Point-and-Click-Definition häufig verwendeter Operationen wie Summe, Mininum, Maximum usw. bieten. Kurz gesagt: Vieles was Sie in einer Visualisierung brauchen. Daher sind Quickmeasures in Power BI unersetzlich.  

Ein zweiter Tipp: Lernen Sie DAX Studio. Ein unersetzliches Tool!

DAX Studio
DAX Studio ist ein unersetzliches Tool, wenn man DAX Code debuggen muss. Mein Tipp: Lernt es so früh wie möglich!

Wofür verwende ich M, und wofür DAX?

In der Informatik gilt: Viele Wege führen zum Ziel. In Power BI ist das ganz besonders wahr. Die Schwierigkeit besteht darin zu lernen, wann welches Instrument besser ist.  

Zum Beispiel kann man eine Berechnung, eine Aggregation, sowie Filterung sowohl in M (also im Data Engineering) als auch in DAX (also in der Datenanalyse) machen.

Um neuen Mitarbeitern den Einstieg zu erleichtern, sowie um die Kommunikation im Team zu vereinfachen, haben wir bei Power Partners klare Regeln definiert, wofür wir M verwenden, und wofür DAX.

Power Query

Power Query / M wird für das Data-Engineering verwendet, also:

  • Data Ingestion: In Power Query können Sie Daten aus verschiedenen Quellen importieren, kombinieren und aktualisieren (z. B. aus einem lokaler Ordner, SharePoint, Datenbank, API, Azure und viele mehr).
  • ETL- und ELT-Prozesse. Extrahieren – Transformieren – Laden, und Extrahieren – Laden – Transformieren sind die beiden Ansätze zur Datenverarbeitung. Für beides ist Power Query das Tool der Stunde.
  • Data Wrangling Die Daten werden dann gesäubert und transformiert. Es werden Joins gemacht, gefiltert, einheitliche Namen vergeben, unnötige Spalten entfernt, etc.

Hierbei gelten folgende Regeln:

  1. Datensätze, die wir nie in der Datenanalyse benötigen, filtern wir in M.
  2. Datensätze aggregieren wir nicht in M.
  3. Spalten, die wir nie brauchen, entfernen wir in M.
  4. Berechnungen machen wir nicht in M.

Ausnahmen bestätigen die Regel. Zum Beispiel gibt es Situationen, wo eine Berechnung in M ein x-faches einfacher zu bewerkstelligen ist. Oder bei sehr grossen Datenmengen müssen wir manchmal bereits in M aggregieren.

DAX

DAX wird für die Datenanalyse verwendet, also:

  • Aggregationen: Wenn Sie aggregierte Werte aus einer Tabelle oder einem Dataset für weitere Berechnungen oder Visualisierungen abrufen müssen, dann ist der beste und schnellste Weg, dies zu tun, mit DAX-Aggregatfunktionen.  
  • Filterfunktionen: In Measures gehören Filterfunktionen zu den am häufigsten verwendeten Funktionen. Es hilft, nur die relevanten Informationen zu filtern und/oder den Datenkontext zu bearbeiten, um dynamische Berechnungen zu erstellen, ohne das Datenmodell und seine Tabellen zu ändern. Dies ist wichtig für die Visualisierung und Aggregation bestimmter Werte für Berichte und Dashboards und andere Berechnungen mithilfe dieser Filterkennzahlen.  
  • Beziehungen definieren: Power Query kennt keine Relationen. In DAX hingegen kann man Relationen definieren und verändern.
  • Relationship Funktionen (Hierarchien). DAX enthält Funktionen, um z. B. die Kardinalität von Relationen und Records zurückzugeben.
  • Berechnete Spalte, die auf eine Spalte aus einer anderen Tabelle verweist. Mit DAX kann der Benutzer ganz einfach Spalten aus verschiedenen Tabellen in die Formel einfügen. In Power Query erfordert dieses Manöver weitere Schritte und wird komplizierter.  

Eine Blaupause für einen Power BI Daten Prozess

Unsere ersten Schritte werden immer im Power Query Editor ausgeführt, wo wir Daten aus verschiedenen Quellen sammeln, die Daten säubern und formatieren.

DAX kommt erst im zweiten Schritt zum Zug, in der Datenanalyse. Wir rechnen in erster Linie Kennzahlen, und versuchen auf zusätzliche berechnete Spalten mittels DAX zu verzichten.   

Mit DAX erstellen wir dann Filter, die spezifische Informationen in der Visualisierung anzeigen und uns helfen, Berichte und Dashboards noch informativer und fokussiert auf den spezifischen Business Case zu machen.

Die Visualisierung der Schritte ist für jeden Datenanalysten enorm nützlich. Auch bei komplexeren Datenmodellen ist es wichtig, einen klaren Überblick über die Tabellen und deren Verbindungen zu haben. Dies wird vom Query Dependencies Viewer bereitgestellt, mit dem Sie diese Verbindungen steuern und nachverfolgen können.

Schließlich bereiten wir das gesamte Datenmodell in Power Query vor und dann werden mit DAX zusätzliche Berechnungen wie Kennzahlen und Filter durchgeführt, um Trends, KPIs, Summen und andere (Finanz-)Indikatoren anzuzeigen.

DAX vs M
Power Query M wird für die Ingestion und das Data Wrangling verwendet. DAX für die Data Analytics.

Need help?

Does it feel rather hard to get around with this dashboard? Have a look at one of our Power BI Classes

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass die ersten Schritte immer im Power Query-Editor ausgeführt werden. Mit der grafischen Benutzeroberfläche und der M-Sprache können fortgeschrittene Anwender sowie Anfänger die Daten für weitere Analysen und Visualisierungen vorbereiten.

DAX hingegen wird dazu verwendet, Berechnungen aus mehreren Records zu machen und einzeln Facts zu agregieren.   

Intelligenz gefällig?

Das Dashboard des Monats publiziert einmal pro Monat Business Intelligenz: Innovative Dashboards, Hintergrundinformationen zu KPIs, Management und Methoden. No Bullshit, no Spam. Unternehmerehrenwort. Jetzt registrieren!

Leave a comment

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .