Der „wahre“ M-Code

Wissensstand: Level 4 ⇒ GUT! in PQ, Verständnis für das Programmieren

 

Prolog überspringen

Die überwiegende Anzahl der PQ-User schätzt Power Query wegen der (meist) recht einfachen Handhabung. Sehr viele der Arbeitsschritte bei Standard-Auswertungen einer Tabelle lassen sich per Mausklick erledigen. In der Editier- bzw. Eingabezeile des Editors wird automatisch jener M-Code generiert, welcher im Endeffekt in der Abfrage gespeichert wird und dafür sorgt, dass bei neuen, aktualisierten Daten immer wieder die gleichen Schritte in korrekter Reihenfolge abgearbeitet werden.

Eine weitere Möglichkeit für anspruchsvollere Funktionalität besteht ja darin, dass sie auf PQ-Funktionen zugreifen, welche mehr oder weniger gut dokumentiert im Internet bei Microsoft abrufbar sind. Ich räume ein, dass der auf welchem Wege auch immer generierte Code auch für erfahrene User nicht unbedingt auf den ersten Blick transparent erscheint. Dazu kommt, dass Sie ja immer nur den winzigen Ausschnitt des gerade im rechten Seitenfenster markierten Schritts in der Editierzeile nachvollziehen bzw. analysieren können und nicht den Gesamt-Zusammenhang.

Und dann gibt es noch jene Zeitgenossen, die in Excel-Foren eine PQ-Lösung anbieten, die nicht Schritt für Schritt beschrieben ist sondern wo einfach nur der komplette, zusammengefasste Code „hin geklatscht“ wird. In US-Fachforen ist das quasi Standard, ich sehe es aber als deutlich weniger hilfreich gegenüber der Beschreibung der einzelnen Schritte, welche zum gewünschten Ziel führen. In deutschen Foren empfinde ich es als einfach nur arrogant und überheblich, wenn ausschließlich dieser Code ohne zusätzliche Erklärung „geliefert“ wird. Aber es ist deutlich bequemer und ruft beim Hilfe suchenden oder auch bei Mitlesern vielleicht den Eindruck hervor, dass der Helfer ein Spezialist erster Klasse ist. Ich selbst gehe auf diese Weise nur vor, wenn der Fragesteller bei mir das Gefühl hervorruft, er sei doch der Größte und brauche nur im Ausnahmefall einmal Hilfe. So kann ich ihm oder ihr recht elegant zeigen, wo seine oder ihre Grenzen in der Realität sind. 👿 Ich mag weder Angeber noch Überheblichkeit, möglichst noch ohne ein „bitte“ oder „danke“ im ersten Beitrag mit der Fragestellung.

Fertige Code-Blöcke in das eigene Projekt einfügen oder selbst definierte Funktionen einbinden

In den vorher geschilderten Fällen stellt sich doch die Frage, wie solche Code-Blöcke in das eigene Projekt eingebunden werden können. Von der Idee her ist es sehr ähnlich wie ein Plain Excel, wo sie mit AltF11 den VBA Editor öffnen und dann entweder den eigenen Code schreiben oder die kopierten Programmzeilen einfügen. In Power Query geht der Weg prinzipiell über eine neue, Leere Abfrage. In den meisten Fällen wird der Ausgangspunkt einer bereits existierende Query sein, wo sie unter Umständen bereits Daten importiert haben. Um in diesen Fällen solch eine „jungfräuliche“ M-Code-Abfrage zu erstellen, gehen Sie so vor:

  • Menü Start, Neue Quelle | Andere Quellen | Leere Abfrage
  • Menü Ansicht, Erweiterter Editor was sich dann so darstellt:

Die leere Abfrage mit den minimalistischen Eintragungen

  • Schreiben Sie hier Ihre eigene Benutzerdefinierte Funktion, den entsprechenden Code oder löschen Sie den vorgegebenen Funktions-Rumpf und fügen Sie den vorher kopierten Text des M-Codes oder der Benutzerdefinierten Funktion ein.
  • Wechseln Sie wieder zu Ihrer Abfrage mit den bisherigen Daten.

Probieren Sie aus, ob Ihr Vorhaben von Erfolg gekrönt war. Unter Umständen müssen Sie noch Änderungen im Code vornehmen. Dazu wechseln Sie über Ansicht | Erweiterter Editor wieder zum reinen M-Code und führen dort die erforderlichen Anpassungen durch.

Möchten Sie von vornherein in einer (auch noch leeren) Excel-Arbeitsmappe eine solche Leere Abfrage einfügen ohne dass der Power Query-Editor geöffnet ist, gehen Sie im entsprechenden Arbeitsblatt über Daten | Daten abrufen | Aus anderen Quellen | Leere Abfrage und Excel wird automatisch den Power Query Editor öffnen, wo Sie entweder in die Editierzeile eine Funktion direkt eintragen oder natürlich wieder zum Erweiterten Editor wechseln können.

▲ nach oben …

Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?

Dann würde ich mich über einen Beitrag Ihrerseits z.B. 1,50  freuen …

Dieser Beitrag wurde unter Power Query, PQ-Formeln (Sprache M), Verschiedenes abgelegt und mit , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.