M ist die mächtige Sprache hinter der Bühne von Power Query. Jede Transformation, die Sie anwenden, wird in der Sprache M geschrieben. Für viele sieht M wie eine unheimliche Sprache aus. In diesem Beitrag möchte ich die Grundlagen von M erklären, ohne irgendwelche Funktionen zu erwähnen. Hauptsächlich möchte ich Ihnen erklären, wie die Syntax der Sprache M aufgebaut ist. Sobald Sie die Syntax kennen, wird alles einfach. M ist eine Sprache, deren Syntax man leicht erlernen kann. Als Power Query-Entwickler empfehle ich Ihnen dringend, sich mit M zu beschäftigen, denn es gibt VIELE Operationen, die Sie mit M durchführen können, die Sie aber vielleicht nicht einfach über die grafische Oberfläche erledigen können. Wenn Sie mehr über Power BI erfahren möchten, lesen Sie das Buch Power BI from Rookie to Rock Star.

M ist der informelle Name der Power Query Formula Language. Der formale Name ist so lang, dass niemand ihn benutzt, alle nennen ihn M! M steht für Data Mashup, manche sagen, es steht für Data Modeling. M ist eine funktionale Sprache, und es ist wichtig, ihre Funktionen zu kennen. Jede Sprache hat jedoch eine Struktur und eine Syntax, die das Anfängerniveau beim Erlernen dieser Sprache darstellt. In diesem Beitrag werde ich die Syntax von M erklären. Bevor Sie M lernen, möchte ich Sie bitten, diesen Satz laut zu lesen;

M ist viel leistungsfähiger als die grafische Oberfläche von Power Query

Ja, Sie haben richtig gelesen! Die grafische Oberfläche von Power Query ändert sich jeden Monat. Jeden Monat kommen neue Funktionen zu dieser grafischen Oberfläche hinzu. Aber Tatsache ist, dass alle diese Funktionen schon seit vielen Jahren in der Sprache enthalten sind! Wenn Sie die Sprache kennen, können Sie sie leicht verwenden, anstatt auf eine grafische Schnittstelle zu warten. Es gibt haufenweise Beispiele dafür. Ein sehr kleines Beispiel ist hier: Sie können Ihre Gruppierungsfähigkeit in Power Query mit einer sehr kleinen Änderung im M-Skript erweitern.

Syntax von M

Die Syntax dieser Sprache ist einfach. Sie hat immer zwei Blöcke der Programmierung: LET-Ausdrucksblock und IN-Ausdrucksblock. Hier ist die einfachste M-Syntax;

let x=1in x

LET und IN sind reservierte Wörter. Bevor Sie auch nur einen Schritt weitergehen, müssen Sie vor allem eines wissen;

M (Power Query Formula Language) unterscheidet zwischen Groß- und Kleinschreibung. Es gibt einen Unterschied zwischen x und X.

Was sind diese beiden Programmierblöcke:

let: Definition aller Variablen

in: Ausgabe! Alles, was Sie in diesen Block eingeben, wird die Ausgabe Ihrer Abfrage sein.

Die folgende Abfrage bedeutet also, dass Sie eine Variable mit dem Namen x definieren, ihr den Wert 1 zuweisen und sie als Ergebnismenge anzeigen. Die Abfrage gibt also 1 zurück.

Um dieses Beispiel auszuführen, müssen Sie Power BI Desktop öffnen. Gehen Sie zu Daten abrufen und starten Sie mit Neue leere Abfrage.

Wählen Sie dann auf der Registerkarte Ansicht den erweiterten Editor aus;

Stellen Sie beim Schreiben des Skripts sicher, dass Sie reservierte Wörter wie let und in Kleinbuchstaben schreiben. Auch Ihr Variablenname sollte sowohl in let als auch in section dieselbe Groß- und Kleinschreibung aufweisen.

Wie Sie sehen, müssen Sie keine Datentypen für die Variablen definieren. Sie wird automatisch zugewiesen, wenn die erste Zuweisung erfolgt.

Wenn Sie einen Textwert angeben, dann ist die Variable automatisch ein Textdatentyp.

Zeilenende

Die Codezeilen in M werden fortgesetzt, wenn Sie kein Zeilenendezeichen setzen.

Wie Sie im obigen Beispiel sehen können, wird die Zeile fortgesetzt, und x ist gleich x=1+1 . Wenn du ein Ende für eine Zeile setzen willst, benutze ein Komma(,). Beispiel hier:

Jede Zeile braucht ein Komma(,) um zu enden. außer die letzte Zeile vor in.

Variablennamen

Namen von Variablen können alle ein Wort sein, wie Quelle. Wenn Sie einige Zeichen wie z.B. ein Leerzeichen haben, müssen Sie den Namen in Anführungszeichen („) setzen und ein Hashtag (#) an den Anfang setzen. etwas Ähnliches wie:

#"This is a variable name"

Variablennamen können Sonderzeichen enthalten, hier ein Beispiel:

Sonderzeichen

Variablennamen können Sonderzeichen enthalten, wie Sie unten sehen können, hat die Variable alle Arten von Zeichen in sich und läuft trotzdem gut.

Escape-Zeichen

Doppelte Anführungszeichen („) sind Escape-Zeichen. Sie können sie verwenden, um Variablen mit Namen zu definieren, die ein weiteres doppeltes Anführungszeichen enthalten. Hier ein Beispiel:

Das erste doppelte Anführungszeichen (hervorgehoben) muss vor dem zweiten doppelten Anführungszeichen (das Teil des Variablennamens ist) stehen.

Schrittweise Codierung

Power Query ist eine schrittweise Transformation. Jede Transformation geschieht normalerweise in einem Schritt. Während du den Code schreibst, kannst du auch feststellen, dass auf der rechten Seite jede Variable einen Schritt bildet.

Im Screenshot oben kannst du sehen, dass jede Variable als Schritt bestimmt wird. Und wenn die Variable ein Leerzeichen im Namen hat, wird sie mit Leerzeichen in der Liste der angewandten Schritte angezeigt.

Die letzte Variable wird immer im Abschnitt in angegeben.

Literale

Es gibt verschiedene Möglichkeiten, jedes Literal in Power Query zu definieren. Wenn Sie z.B. eine Datumsvariable definieren möchten, gehen Sie wie folgt vor:

Für die Definition aller anderen Arten von Literalen ist die folgende Referenztabelle zu verwenden:

* für Funktion und Typ; ich werde später einen weiteren Beitrag schreiben, um zu erklären, wie diese Typen funktionieren.

Funktionsaufruf

M ist eine funktionale Sprache, und für fast alles, was man tun muss, muss man eine Funktion aufrufen. Funktionen können einfach mit dem Namen der Funktion und der Angabe von Parametern aufgerufen werden.

Der obige Screenshot verwendet die Funktion Date.Year, die das Jahr eines Datums abruft. Funktionsnamen beginnen immer mit Großbuchstaben: Date.Year()

Wie in jeder Programmiersprache können Sie Kommentare in Ihren Code einfügen. Das kann in zwei Formen geschehen;

Einzeiliger Kommentar mit doppeltem Schrägstrich (//)

Mehrzeiliger Kommentar zwischen Schrägstrich und Anfängen (/*Kommentare */)

Ein Beispiel aus der Praxis

Nachdem Sie nun einige Grundlagen kennen, lassen Sie uns eine bestehende Abfrage im erweiterten Editormodus betrachten und verstehen.

Im obigen Screenshot sehen Sie alle bisher erwähnten Grundlagen:

  1. Let und im Block
  2. Variablennamen, die mit den in der Abfrage angewendeten Schritten übereinstimmen
  3. Einige Variablennamen mit Hashtag und Anführungszeichen: #“var name“
  4. Zeilenende-Zeichen: Komma
  5. Aufruf vieler Funktionen

Es gibt immer noch viele Teile dieser Abfrage, die Sie vielleicht nicht verstehen. besonders bei der Verwendung von Funktionen. Sie müssen lernen, was Funktionen tun, um den Code vollständig zu verstehen. Ich habe einen Blogbeitrag geschrieben, der erklärt, wie man das Schlüsselwort #shared verwendet, um die Dokumentation aller Funktionen in Power Query zu erhalten.

In den nächsten Beiträgen werde ich weitere Ebenen von Strukturen in M erklären.

Trainer, Berater, Mentor
Reza Rad ist Microsoft Regional Director, Autor, Trainer, Sprecher und Berater. Er hat einen BSc in Computertechnik; er verfügt über mehr als 20 Jahre Erfahrung in den Bereichen Datenanalyse, BI, Datenbanken, Programmierung und Entwicklung, hauptsächlich mit Microsoft-Technologien. Er ist seit neun Jahren (von 2011 bis heute) ununterbrochener Microsoft Data Platform MVP für sein Engagement im Bereich Microsoft BI. Reza ist ein aktiver Blogger und Mitbegründer von RADACAD. Reza ist auch Mitbegründer und Mitorganisator der Difinity-Konferenz in Neuseeland.
Seine Artikel zu verschiedenen Aspekten von Technologien, insbesondere zu MS BI, finden Sie in seinem Blog: https://radacad.com/blog.
Er hat einige Bücher über MS SQL BI geschrieben und ist dabei, weitere zu verfassen. Er war auch ein aktives Mitglied in technischen Online-Foren wie MSDN und Experts-Exchange und Moderator von MSDN SQL Server-Foren und ist MCP, MCSE und MCITP für BI. Er ist der Leiter der neuseeländischen Business Intelligence-Benutzergruppe. Er ist auch der Autor des sehr populären Buches Power BI from Rookie to Rock Star, das mit mehr als 1700 Seiten Inhalt kostenlos ist, und der Power BI Pro Architecture, die von Apress veröffentlicht wurde.
Er ist ein internationaler Sprecher bei Microsoft Ignite, Microsoft Business Applications Summit, Data Insight Summit, PASS Summit, SQL Saturday und SQL-Benutzergruppen. Und er ist ein Microsoft Certified Trainer.
Rezas Leidenschaft ist es, Ihnen zu helfen, die beste Datenlösung zu finden, er ist ein Datenenthusiast.

Schreibe einen Kommentar

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