Wer mit Power Query seine Daten aufbereitet, kann über das Menüband auf typische Befehle zum Bereinigen zugreifen. Was aber, wenn Optionen fehlen?
Wie kann ich z. B. unterschiedlich lange Zeichenfolgen mit Hilfe eines Füllzeichens auf eine einheitliche Länge bringen?
Anhand von Materialnummern zeige ich, auf welchem Weg ich an die erforderliche zusätzliche Option herankomme.
Das Schöne daran: Eine solche Entdeckungsreise macht Spaß und es ist spannend, anhand vorgefertigter Dinge ganz leicht Neues hinzuzulernen.
Die Materialnummern sollen auf 12 Stellen vereinheitlicht werden, und zwar mit führenden Nullen
Kurze (Fehler-)Analyse der vorliegenden Liste
- Die Materialnummern in der oben gezeigten Liste haben zum einen unterschiedlich viele Zeichen.
- Hinzu kommt, dass manche nur aus Ziffern bestehen, andere hingegen sind alphanumerisch zusammengesetzt, also aus Zahlen und Buchstaben.
- Das führt unweigerlich zu unterschiedlichen Formaten: mal werden sie als Text, mal als Zahl angezeigt.
Ziel ist daher ein einheitliches Format, das wie folgt aussieht:
- Jede Materialnummer soll aus genau 12 Stellen bestehen und
- fehlende Stellen sollen vorn mit Nullen aufgefüllt werden.
Die Liste in Power Query einlesen und eine Musterspalte anlegen
- Zuerst lese ich die Liste in Power Query ein und wähle dazu Daten > Daten abrufen > Aus Tabelle/Bereich.
- Im Power Query – Editor benenne ich die Abfrage rechts unter Abfrageeinstellungen um, und zwar in Materialnummern_mit_neuer_Spalte [1].
- Um die Daten der Spalte Materialnummer später mit Textfunktionen bearbeiten zu können, ändere ich zunächst per Klick auf das Datentypsymbol [2] den Datentyp auf Text [3].
Abfrage umbenennen und den Datentyp der Spalte Materialnummer auf Text ändern
- Bei markierter Spalte Materialnummer wähle ich unter Spalte hinzufügen einen Befehl aus der Gruppe Aus Text, beispielsweise Extrahieren > Erste Zeichen: 1.
Für die neue Spalte eine typische Text-Funktion auswählen
Dieser Schritt produziert eine neue Spalte. In ihr kann ich nun den M-Code an meine Bedürfnisse anpassen, indem ich die bisherige Textfunktion gegen eine andere austausche.
Abfrageschritt anpassen und Materialnummern vereinheitlichen
In der neuen Spalte muss ich den Abfrageschritt so anzupassen, dass 12-stellige Materialnummern mit führenden Nullen entstehen. Dazu gehe ich wie folgt vor:
Den M-Code im Abfrageschritt anpassen
- Ich benenne den Schritt rechts um in MaterialnummernVereinheitlichen [1].
- Als Spaltennamen trage ich ein Materialnummer 12-stellig [2].
- Die Funktion Text.Start tausche ich aus durch die Funktion Text.PadStart [3] und passe die dann Argumentliste wie oben gezeigt an.
Zur Erläuterung:
- Text.PadStart gibt Text mit einer bestimmten Länge zurück.
- Dazu wird der Anfang des angegebenen Textes (1. Argument) bis zu einer bestimmten Anzahl von Stellen (2. Argument) mit einem bestimmten Füllzeichen (3. Argument) aufgefüllt.
- Daraus ergibt sich: Text.PadStart([Materialnummer], 12, „0“)
Leichter Zugriff auf weitere Optionen zur Text-Transformation
- Tippe ich beim Ändern des Funktionsnamens nur die Zeichenkette Text. ein, bekomme ich zahlreiche Textfunktionen angeboten. Die Legende gibt jeweils einen Hinweis auf die Funktionalität.
Erfolgreiche Entdeckungsreise: So gelingt der leichte Zugriff auf zahlreiche zusätzliche Textfunktionen
- Nach Auswahl der Funktion bekomme ich per IntelliSense Hilfe, welche Argumente benötigt werden.
IntelliSense zeigt die Argumente zur gewählten Funktion
Ausblick
Im nächsten Blogbeitrag – dann schon Power Query Rezept #16 – zeige ich, wie sich Nummern auch ohne neue Spalte vereinheitlichen lassen.
Dafür nehme ich mir das – bei vielen ungeliebte – Thema einheitliche Telefonnummern vor.
Noch mehr Techniken und Tipps zu Power Query?
Wer sein Wissen zu Power Query systematisch auf- und ausbauen will, kann dazu einen meiner Online-Kurse buchen.
Auf dieser Seite gibt es alle aktuellen Termine.
TIPP: Wer hier im Blog ALLE Rezepte zu Power Query finden möchte, gibt einfach oben rechts in das Suchfeld Power-Query-Rezept ein.
Über den Autor