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.
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].
- Bei markierter Spalte Materialnummer wähle ich unter Spalte hinzufügen einen Befehl aus der Gruppe Aus Text, beispielsweise Extrahieren > Erste Zeichen: 1.
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:
- 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.
- Nach Auswahl der Funktion bekomme ich per IntelliSense Hilfe, welche Argumente benötigt werden.
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 office-kompetenz gibt es die aktuellen Termine.