SQLShack

Microsoft Power BI unterstützt zwei verschiedene Sprachen, die M-Sprache und DAX (Data Analysis Expression), die zum Filtern, Verwalten und Visualisieren von Daten verwendet werden können.

M kann als eine Abfrageformelsprache betrachtet werden und kann im Power BI Query Editor verwendet werden, um Daten vorzubereiten, bevor sie in das Power BI-Modell geladen werden können.

Auf der anderen Seite ist DAX eine analytische Datenberechnungssprache, die für eine tiefgreifende Datenanalyse während der Datenansichtsphase verwendet werden kann.

M und DAX sind nicht voneinander abhängig und folgen völlig unterschiedlichen Strukturen und Logiken und haben unterschiedliche zugrunde liegende Codes. M und DAX können nicht gleichzeitig verwendet werden, da die Sprache M im Abfrage-Editor verwendet wird, während DAX hauptsächlich im Datenansichtsmodell verwendet wird.

Dieser Blogbeitrag zeigt Ihnen anhand von Beispielen, wie sich M und DAX in Power BI voneinander unterscheiden. Eine kurze Einführung in DAX finden Sie in diesem Artikel.

Datensatz importieren

In diesem Abschnitt werden wir einen Dummy-Datensatz importieren, den wir zur Ausführung unserer M-Sprache und DAX-Abfragen verwenden werden. Klicken Sie dazu zunächst auf die Schaltfläche „Daten abrufen“ im oberen Menü, wie im folgenden Screenshot dargestellt.

In einem neuen Dialog werden alle in Power BI geöffneten Datenverknüpfungen aufgelistet.

Geben Sie „Web“ in den Suchabschnitt ein, und schon bald erscheint die Datenoption „Web“ sowie ein Symbol in den Optionen für alle Datenquellen. Wählen Sie die Option „Web“ aus und klicken Sie dann unten auf „Verbinden“. Dies ist im folgenden Screenshot deutlich zu sehen.

Es erscheint das Dialogfenster, das Sie im folgenden Screenshot sehen können. Sie müssen nun die nachstehende URL in das Feld mit der Bezeichnung URL einfügen:

https://raw.githubusercontent.com/treselle-systems/customer_churn_analysis/master/WA_Fn-UseC_-Telco-Customer-Churn.csv

Klicken Sie auf „OK“, um zu bestätigen, dass dies geschehen ist.

Hier ist ein Screenshot zu Ihrer Information:

Diese URL führt Power BI zu Github, wo sich die von uns benötigte CSV-Datei befindet. Bei der Datendatei handelt es sich um einen Datensatz zur Kundenabwanderung in der Telekommunikation. Sie enthält Daten über die Kunden eines Telekommunikationsunternehmens, die das Unternehmen nach einem bestimmten Zeitraum verlassen haben.

Je nach Größe der Datei kann es eine Weile dauern, bis die Daten von der Remote-Site heruntergeladen sind.

Sobald die Daten heruntergeladen sind, haben Sie zwei Möglichkeiten: entweder können Sie die Daten direkt in die Daten-/Berichtsansicht importieren, oder Sie können die Daten zunächst in den Query Editor laden. Da die M-Sprache im Abfrage-Editor funktioniert, laden wir die Daten zunächst in den Abfrage-Editor, indem wir auf „Daten transformieren“ klicken, wie im folgenden Screenshot gezeigt:

Sie werden sehen, dass der Datensatz Informationen über einen Kunden enthält, wie Geschlecht, Betriebszugehörigkeit, Telefondienst, Internetdienst, Angehörige usw.

Sobald Sie auf die Schaltfläche Transformieren klicken, sollten Sie den folgenden Abfrage-Editor sehen.

Unterschiede zwischen M Language und DAX

Im vorherigen Abschnitt haben wir Power BI mit einem Dummy-Datensatz auf GitHub verbunden. In diesem Abschnitt werden Sie anhand von Beispielen die Unterschiede zwischen M Language und DAX sehen.

M Language

Zuerst werden wir sehen, was M ist und wie es in Power BI verwendet wird. Wie bereits erwähnt, wird die M-Sprache verwendet, um Daten im Abfrage-Editor zu verwalten und zu filtern. Wenn Sie den Abfrage-Editor geschlossen haben, können Sie ihn öffnen, indem Sie im oberen Menü auf die Option „Abfragen bearbeiten“ klicken.

Im Abfrage-Editor ist der einzige Tabellenname auf der linken Seite des Bildschirms Ihre Tabelle, wie unten gezeigt. Klicken Sie auf die Datentabelle „WA_Fn-UseC_-Telco-Customer-Churn“ im linken Bereich des Abfrage-Editors, wie unten gezeigt:

Um die Abfragen in M zu sehen, wählen Sie eine beliebige Spalte aus, z. B. „Partner“, und klicken Sie dann im oberen Menü auf die Schaltfläche „Spalten entfernen“. Dadurch wird die Spalte „Partner“ aus der Tabelle entfernt, wie unten gezeigt:

Klicken Sie anschließend auf die Option „Ansicht“ im oberen Menü, wie im folgenden Screenshot hervorgehoben.

Klicken Sie auf das Kontrollkästchen „Formelleiste“. Sie sollten nun eine Abfrage in der Formelleiste sehen, wie im folgenden Screenshot hervorgehoben. Die Abfrage lautet hier „= Table.RemoveColumns(#“Changed Type“,{„Partner“}). Diese Abfrage ist eine M-Sprachabfrage, mit der die Spalte „Partner“ aus der ausgewählten Tabelle entfernt wird. Sie können sehen, dass die M-Sprachabfrage eher einem SQL- oder LINQ-Befehl (Language Integrated Query) in C# ähnelt.

Um alle zuvor ausgeführten M-Abfragen in Ihrem Dataset zu sehen, können Sie auf „Ansicht – Erweiterter Editor“ klicken, wie im folgenden Screenshot gezeigt.

Sobald Sie im oberen Menü auf die Option „Erweiterter Editor“ klicken, sollten Sie das Fenster „Erweiterter Editor“ wie unten dargestellt sehen. Das Fenster „Erweiterter Editor“ enthält alle Abfragen in der Sprache M, die Sie bisher in der aktuellen Sitzung ausgeführt haben.

Sie können sehen, dass die letzte Abfrage diejenige ist, die die Spalte „Partner“ aus der Tabelle entfernt. Davor wird die Abfrage „Change Type“ verwendet, um die Datentypen verschiedenen Spalten im Dataset zuzuweisen. Und davor wird die Abfrage „Promoted Headers“ verwendet, um die Kopfspalten festzulegen. Wenn Sie eine andere Abfrage ausführen, wird diese unten in der Abfrageliste im „Advance Editor“ angezeigt.

Versuchen wir, eine einfache Spalte in der Tabelle „Bücher“ hinzuzufügen und sehen wir uns die M-Abfrage dafür an. Klicken Sie auf die Option „Spalte hinzufügen -> Benutzerdefinierte Spalte“ im Menü oben im Fenster, wie Sie unten sehen können:

Sie sollten das folgende Fenster sehen. Klicken Sie nacheinander auf die Spalten „TotalCharges“ und „MonthlyCharges“ und dann auf die Schaltfläche „Insert“, um sie in das Abfrage-Editor-Fenster einzufügen. Fügen Sie im Abfrage-Editor-Fenster ein „+“-Zeichen zwischen den beiden Spaltennamen ein und klicken Sie auf die Schaltfläche „OK“.

Sie sollten sehen, dass der Tabelle eine neue Spalte „Monatliche Gesamtsumme“ hinzugefügt wurde, wie unten dargestellt. In der Formelleiste können Sie auch die M-Abfrage sehen, die zur Erstellung der Spalte „Monatssumme“ erstellt wurde. Die Spalte „Monatssumme“ zeigt im Wesentlichen die Summe der Werte in den Spalten „Gesamtkosten“ und „Monatliche Kosten“ an.

Wenn Sie nun erneut das Fenster „Erweiterter Editor“ öffnen, sehen Sie die Abfrage, mit der die Spalte „Monatssumme“ hinzugefügt wurde, am Ende der Abfragen im erweiterten Editor.

Jetzt wissen wir, wie die M-Sprache funktioniert und wie sie aussieht. Im nächsten Abschnitt werden wir versuchen, die gleiche Spalte „Monatssumme 2“ über DAX (Data Analysis Expression) zu erstellen.

DAX-Abfragen werden in der Datenansicht ausgeführt; daher müssen wir die Daten aus dem Abfrage-Editor in die Datenansicht verschieben. Klicken Sie dazu im Abfrage-Editor auf die Option „Schließen & Anwenden“ aus dem oberen Menü, wie unten gezeigt:

Sobald Sie auf die Schaltfläche „Schließen & Anwenden“ klicken, wird die Datenansicht geöffnet.

DAX (Data Analysis Expression)

In diesem Abschnitt werden wir sehen, wie Sie der Tabelle „Bücher“ mithilfe von DAX eine neue Spalte hinzufügen. Klicken Sie in der Datenansicht auf die Option „Modellierung -> Neue Spalte“ im oberen Menü, wie unten gezeigt:

Sobald Sie auf die Option „Neue Spalte“ klicken, sollten Sie das folgende Fenster sehen. In der Formelleiste sehen Sie den Standardspaltennamen. Sie können die DAX-Abfragen in dieser Formelleiste ausführen.

Geben Sie die Abfrage „Monatssumme 2 = + “ in die Formelleiste ein und drücken Sie die „Enter“-Taste. Sobald Sie die Eingabetaste gedrückt haben, wird eine neue Spalte „Monatssumme 2“ angezeigt, die die Summe der Werte in den Spalten „Gesamtkosten“ und „Monatliche Kosten“ enthält.

Sie sehen, dass die DAX-Abfragen eher MS Excel ähneln.

Schlussfolgerung

M Language und DAX sind die beiden Sprachen, die von Power BI unterstützt werden, um die Daten zu bearbeiten, zu filtern und zu analysieren. Obwohl beide Sprachen ähnliche Funktionalitäten haben, arbeiten sie unabhängig voneinander. M wird verwendet, um die Daten im Abfrage-Editor vorzuverarbeiten, während DAX verwendet wird, um die Daten zu analysieren, nachdem die Daten in das Datenansichtsmodell geladen wurden.

  • Autor
  • Recent Posts
Ben Richardson leitet Acuity Training, einen führenden Anbieter von SQL-Schulungen in Großbritannien. Er bietet eine breite Palette von SQL-Schulungen an, von Einführungskursen bis hin zu fortgeschrittenen Verwaltungs- und Data-Warehouse-Schulungen – weitere Informationen finden Sie hier. Acuity hat Niederlassungen in London und Guildford, Surrey. Er bloggt auch gelegentlich im Acuity-Blog
Alle Beiträge von Ben Richardson anzeigen

Letzte Beiträge von Ben Richardson (alle anzeigen)
  • Arbeiten mit Power BI-Berichtsthemen – 25. Februar 2021
  • Power BI: Wasserfalldiagramme und kombinierte Visuals – 19. Januar 2021
  • Power BI: Bedingte Formatierung und Datenfarben in Aktion – 14. Januar 2021

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.