Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

In diesem Blogbeitrag werfen wir einen genaueren Blick auf eine benutzerdefinierte Funktion zur Textbereinigung, die ich für unsere laufende Serie bei LuckyTemplates TV mit dem Titel erstellt habe . Sie können sich das vollständige Video dieses Tutorials unten in diesem Blog ansehen.

Für Woche Nr. 2 haben wir einige chaotische Daten, die bereinigt werden müssen. Unser Ziel hier ist es, alle Textwerte in beiden Spalten zu bereinigen.

Für diese Aufgabe habe ich eine saubere Textfunktion erstellt.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Aber werfen wir zunächst einen kurzen Blick auf den M-Code.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Diese Funktion benötigt einen Parameter namens myText. Sein Wert sollte vom Typ Text sein und die Funktion sollte einen Textwert zurückgeben, da nicht alle unten aufgeführten Variablen einen Textwert zurückgeben.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Die Deklaration des Rückgabetyps führt zu einem Fehler. Um zu verhindern, dass dieser Fehler auftritt, kann ich das vorerst auskommentieren.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Wenn wir sehen möchten, was die erste Variable zurückgibt, müssen wir sie nur namentlich nach der in-Klausel angeben. Also kopiere ich die ToRemove-Variable, füge sie in der unteren Zeile ein und drücke auf „Okay“.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Um das Ergebnis dieser Funktion zu sehen, müssen wir sie aufrufen. Fügen wir dieser Abfrage also eine benutzerdefinierte Spalte hinzu.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Rufen Sie dann unsere Funktion auf, wählen Sie diese zusammengeführte Spalte aus und drücken Sie „Okay“.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Inhaltsverzeichnis

Erstellen der Listen aus einer leeren Abfrage

Wir sehen nun, dass der ToRemove-Schritt eine Liste erstellt. Tatsächlich handelt es sich um eine Kombination aus zwei Listen.

Die erste Liste erstellte die Anführungszeichen und die zweite Liste enthält eine Reihe von Zeichen, die ich entfernen wollte.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Wie habe ich diese Liste erstellt?

Nun, ich habe eine Funktion namens Txt.ToList verwendet.

Sie können auf die interne Funktionsdokumentation zugreifen, indem Sie eine leere Abfrage erstellen, den Funktionsnamen ohne Klammern eingeben und dann die Eingabetaste drücken.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Wir sehen, dass Text.ToList eine Liste von Zeichenwerten aus einem bestimmten Textwert zurückgibt.

Fügen wir einige Texte ein und rufen diese Funktion auf.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Es wird eine neue Abfrage erstellt und Sie können sehen, dass diese Liste alle Buchstaben enthält, die wir hier im Text sehen.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Denken Sie daran, dass ich eine zusätzliche Liste hinzugefügt habe, oder? Ich habe zwei Listen kombiniert und dazu das kaufmännische Und-Zeichen verwendet.

Lassen Sie uns das jetzt nachstellen. Ich habe das kaufmännische Und und den Listeninitialisierer verwendet und dann diese Anführungszeichen eingegeben.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Wir sehen jetzt, dass die Zitate zu dieser Liste hinzugefügt wurden, aber warum habe ich eine Liste erstellt?

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Nun, im nächsten Schritt meiner Textbereinigungsfunktion habe ich eine M-Funktion namens Text verwendet. Entfernen.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Und Sie sehen, dass Sie einen Text und dann eine Liste von Zeichen eingeben können, die Sie aus dieser Zeichenfolge entfernen möchten.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Kehren wir zu unserer Textbereinigungsfunktion zurück.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Zu. Remove hat diese beiden Listen erstellt und sie dann zu einer einzigen Liste zusammengefasst.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Und dann fügen wir die CleanText-Variable ein. Die „in“-Klausel ruft die M-Funktion Text.Remove auf, übergibt die Variable myText und ruft dann die To.Remove-Liste auf. Mal sehen, was das bewirkt.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Kehren wir zu unserer Anfrage zurück. Dies gibt keine Liste mehr zurück, sondern einige Textwerte.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Trimmen in Power Query

Der nächste Schritt ist das Trimmen . Wie Sie dem Bild oben entnehmen können, haben wir am Ende einige zusätzliche Leerzeichen und ein nachgestelltes Komma, die wir entfernen möchten. Dazu können wir die Trimmfunktionen nutzen. Kehren wir zur Abfrage zurück, um den M-Code zu untersuchen.

Im M-Code habe ich zwei Trimmfunktionen verschachtelt. Die erste String-Funktion entfernt die zusätzlichen Leerzeichen am Anfang und Ende unserer CleanText-Variablen.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Für die verbleibenden Texte, die wir haben, entfernen wir auch die Leerzeichen aus der Ergebniszeichenfolge.

Wir werden auch das abschließende Komma entfernen.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Schauen wir uns das Ergebnis an. Ich kopiere den Variablennamen, füge ihn nach der „in“-Klausel ein und klicke auf „Fertig“. Wenn wir unsere Abfrage aktualisieren, können Sie sehen, dass die zusätzlichen Leerzeichen verschwunden sind und das abschließende Komma entfernt wurde.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

In den letzten Schritten meiner Abfrage habe ich nur einige Textwerte ersetzt.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Im letzten Fall habe ich diesen Unterstrich durch ein Leerzeichen ersetzt. Kopieren wir das und fügen es nach der „in“-Klausel ein. Ich habe auch den Rückgabetyp wieder aktiviert.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Kehren wir zu unserer Abfrage zurück und untersuchen die Ergebnisse – soweit, so gut!

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Nun wollen wir keine neuen Spalten erstellen, um unsere Funktion aufzurufen, oder? Was wir tun können, ist stattdessen unsere Spalte 1 in unsere Zusammenführungsspalte umzuwandeln.

Ich werde diesen benutzerdefinierten Spaltenschritt entfernen.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Dann werde ich die Benutzeroberfläche verwenden, um den Großteil des Codes für uns zu erstellen. Wählen Sie auf der Registerkarte „Transformieren“ beide Spalten aus, gehen Sie zu „Format“ und wählen Sie eine Funktion aus.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Es spielt eigentlich keine Rolle, welche Funktion ausgewählt wird, da es sich hierbei um den M-Code handelt, der von der Benutzeroberfläche generiert wird. Wir können diesen Text jetzt ersetzen. Untere Funktion…

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

… mit unserer Klartextfunktion. Hoffentlich verstehen Sie, warum ich fx voranstellen musste. Es gibt kein „in Funktion“, das damit beginnt.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Wenn wir auf OK klicken, sehen Sie, dass unsere Texte bereinigt wurden. Das ist fantastisch.

Erstellen einer benutzerdefinierten Textreinigungsfunktion in Power Query

Abschluss

Warum mussten wir uns die ganze Mühe machen, eine benutzerdefinierte Reinigungsfunktion zu erstellen? Wenn es wahrscheinlich ist, dass Sie diesen Schritt in Zukunft wiederholen oder eine ähnliche Logik verwenden müssen, können Sie diese Funktionsabfrage speichern.

Dadurch wird die Abfrageentwicklung zu einem späteren Zeitpunkt beschleunigt. Ein weiterer guter Grund ist, dass es auch Spaß macht.

Ich hoffe, Ihnen hat dieses Tutorial gefallen. Wenn ja, vergessen Sie bitte nicht, den LuckyTemplates-Kanal zu abonnieren .

Melissa


So speichern und laden Sie eine RDS-Datei in R

So speichern und laden Sie eine RDS-Datei in R

Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.

Einführung in den Filterkontext in LuckyTemplates

Einführung in den Filterkontext in LuckyTemplates

In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.

Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.

Geschäftsberichte mit LuckyTemplates

Geschäftsberichte mit LuckyTemplates

Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst