Benutzerdefinierte Funktionen PowerQuery

Benutzerdefinierte Funktionen in PowerQuery

Power Query ist ein leistungsstarkes Tool zum Modellieren und Gestalten von Daten. Es verwendet eine Formelsprache namens „M“.

In diesem Artikel erfahren Sie, wie Sie diese Funktionen verwenden und eine benutzerdefinierte Funktion erstellen können.

Was ist eine Funktion?

  • Eine Funktion ist ein Wert, der, wenn er mit Argumenten aufgerufen wird, einen neuen Wert erzeugt.
  • Bei Funktionen muss die Gross-/Kleinschreibung beachtet werden.
  • Eine Funktion wird geschrieben, indem zuerst die Parameter der Funktion benannt werden und dann eine Formel bereitgestellt wird, welche das Ergebnis berechnet.

Zum Beispiel:

(x) => x + 1 // Funktion, die einem Wert eins hinzufügt (x, y) => x + y // Funktion, die zwei Werte addiert

 

Was sind vordefinierte Funktionen?

  • Es stehen verschiedene Funktionen zur Verfügung. Am besten haben Sie eine Liste der Funktionen mit Beschreibung und Beispielen.
  • Eine Übersicht der Funktionen finden Sie hier.

oder Sie können diese direkt in Power Query laden

  • Nachfolgend finden Sie die Schritte zum Generieren einer Liste sämtlicher Funktionen

 

Schritt 1: Klicken Sie auf Daten > Aus anderen Quellen > Leere Abfrage

Dadurch wird der Power Query-Editor geöffnet

Klicken Sie auf Daten > Aus anderen Quellen > Leere Abfrage

Schritt 2: Geben Sie in die Formelleiste = #shared ein und dann [Enter]

Alle Funktionen werden aufgelistet

Legen Sie den Namen fest – beliebiger Name

Klicken Sie oben links auf den Knopf in Tabelle Konvertieren

Geben Sie in die Formelleiste = #shared ein und dann [Enter]

Die Funktionen werden in einer Tabelle aufgelistet

Die Funktionen werden in einer Tabelle aufgelistet

 

Eine der vordefinierten Funktionen ist beispielsweise Text.AfterDelimiter

Schritt 1: Klicken Sie auf Funktion neben Text.AfterDelimiter

Dies zeigt die Beschreibung und Beispiele

Klicken Sie auf Funktion neben Text.AfterDelimiter

Schritt 2: Doppelklicken Sie auf Funktion neben Text.AfterDelimiter

Dadurch wird eine neue Seite geöffnet, auf der der Benutzer seine Parameter eingeben kann

Doppelklicken Sie auf Funktion neben Text.AfterDelimiter

Schritt 3: Klicken Sie dann auf die Schaltfläche Aufrufen

Dies wird das Ergebnis anzeigen

Klicken Sie dann auf die Schaltfläche Aufrufen

 

Was sind benutzerdefinierte Funktionen?

  • Manchmal können Sie auf Situationen stossen, in denen Sie eine Spalte mehrmals im selben Bericht oder über mehrere Berichte hinweg berechnen müssen. Obwohl Sie die berechneten Spalten in gewissem Umfang verwenden können, sind diese nicht robust und nicht wiederverwendbar. Um denselben Code wiederzuverwenden, müssen Sie mit Power Query benutzerdefinierte Funktionen erstellen und diese dann in den Spalten verwenden.
  • Lassen Sie uns eine benutzerdefinierte Funktion erstellen – Alter_berechnen()
  • Diese Funktion berechnet das Alter einer Person anhand des angegebenen Geburtsdatums.

 

Unten sind die Schritte:

In diesem Fall habe ich den Beispieldatensatz bereits importiert

In diesem Fall habe ich den Beispieldatensatz bereits importiert

Schritt 1: Klicken Sie mit der rechten Maustaste auf die Testdaten und klicken Sie auf Funktion erstellen.

Klicken Sie mit der rechten Maustaste auf die Testdaten und klicken Sie auf Funktion erstellen.

Schritt 2: Dieses Dialogfeld wird angezeigt, klicken Sie auf Erstellen.

Dieses Dialogfeld wird angezeigt, klicken Sie auf Erstellen.

Schritt 3: Es erscheint ein weiteres Dialogfeld, vergeben Sie den gewünschten Funktionsnamen und klicken Sie auf OK.

Es erscheint ein weiteres Dialogfeld, vergeben Sie den gewünschten Funktionsnamen und klicken Sie auf OK.

Schritt 4: Beachten Sie, dass die Funktion im linken Abfragebereich erstellt wird. Klicken Sie auf die Funktion Alter_berechnen und klicken Sie oben im Menüband auf Erweiterter Editor.

Beachten Sie, dass die Funktion im linken Abfragebereich erstellt wird.

Schritt 5: Ein weiteres Dialogfeld wird angezeigt, klicken Sie auf OK.

Ein weiteres Dialogfeld wird angezeigt, klicken Sie auf OK.

Schritt 6: Dies öffnet dann den Editor, geben Sie die Formel wie unten beschrieben ein und klicken Sie dann auf Fertig.

In der folgenden Formel extrahieren wir die Jahreswerte sowohl aus dem Geburtstag als auch aus dem aktuellen Datum und subtrahieren dann beide Jahreswerte.

Dies öffnet dann den Editor, geben Sie die Formel wie unten beschrieben ein und klicken Sie dann auf Fertig.

Schritt 7: Nachdem unsere benutzerdefinierte Funktion nun definiert ist, können wir sie in unserem Datensatz verwenden. Klicken Sie auf die Tabelle „testdaten“, wählen Sie unter Spalte hinzufügen Benutzerdefinierte Funktion aufrufen.

Nachdem unsere benutzerdefinierte Funktion nun definiert ist, können wir sie in unserem Datensatz verwenden.

Schritt 8: Geben Sie im erscheinenden Dialog Benutzerdefinierte Funktion aufrufen den neuen Spaltennamen als „Alter“ an, wählen Sie die von uns erstellte Funktion Alter_berechnen und wählen Sie den Parameter – Geburtstag. Klicken Sie dann auf OK.

Geben Sie im erscheinenden Dialog Benutzerdefinierte Funktion aufrufen den neuen Spaltennamen als „Alter“ an, wählen Sie die von uns erstellte Funktion Alter_berechnen und wählen Sie den Parameter – Geburtstag. Klicken Sie dann auf OK.

Schritt 9: Der Alter wird dann berechnet.

Der Alter wird dann berechnet.

 

Fazit

In diesem Blog haben Sie gelernt, wie Sie Funktionen definieren und aufrufen.

Sie bemerken auch, dass die Power Query nicht über IntelliSense verfügt und wir daher zuerst die Funktionsliste untersuchen müssen, bevor Sie sie verwenden.

Wir haben auch besprochen, wie Sie mit Power Query (M) benutzerdefinierte Funktionen in Power BI erstellen und in einer anderen benutzerdefinierten Spalte verwenden.

Unter https://www.excel-hilfe.ch/ finden Sie weitere Artikel zu spezifischen Excel-Sachverhalten.

Benötigen Sie einen VBA Programmierer?

Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes ist. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).

Haben Sie ein Excel-Problem? Benötigen Sie einen Makro-Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular

 

 

Kommentar verfassen

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

Nach oben scrollen