Wer Adressdaten erfasst, nutzt oder verwaltet, kennt das Phänomen: Straßennamen enden mit „str.“ oder „strasse“ oder „-Str.“. Das ist ein Hindernis, wenn Adressen auf Duplikate überprüft werden müssen. Noch gravierender wird es, wenn mehrere Listen mit Adressdaten in ein CRM- oder ERP-System zu importieren sind. Spätestens dann erweist sich die konsistente Schreibweise von Straßennamen als unerlässlich. Denn die Daten müssen abgeglichen und Duplikate vermieden werden. Mit Hilfe von Power Query lässt sich die Genauigkeit und Zuverlässigkeit der Adressdaten sicherstellen. Die Anweisung List.Accumulate sowie Mapping spielen hierbei die Hauptrollen. Das sind die Schritte:
In der folgenden Tabelle namens tblAdressen soll die Schreibweise der Straßennamen vereinheitlicht werden, damit die Adressdaten in anderen Systemen fehlerfrei weiterverarbeitet werden können.
Die Spalte Straße weist mehr als eine Ungereimtheit auf. Ersetzt werden sollen:
Für den Fall, dass später weitere abweichende Schreibweisen auftauchen, lege ich eine Mapping-Tabelle an. In ihr kann ich bei Bedarf noch neue Varianten ergänzen, bin also flexibel. Die Tabelle bekommt den Namen Mapping und hat die beiden Spalten Alt und Neu.
TIPP: Wer mehr zur korrekten Schreibweise von Straßennamen erfahren möchte, wird hier fündig:
https://www.duden.de/sprachwissen/rechtschreibregeln/strassennamen
https://www.sekada.de/din-5008/din-lexikon-a-z/artikel/12-tipps-um-strassennamen-immer-korrekt-nach-din5008-zu-schreiben/
Nun erstelle ich eine neue benutzerdefinierte Spalte, in der alle in der Tabelle Mapping hinterlegten Ersetzungsvarianten durchgespielt werden.
Hinweis: Die Zeichenfolge »Straße« muss durch den jeweiligen Spaltennamen ersetzt werden.
In der benutzerdefinierten Spalte werden mit List.Accumulate alle Ersetzungsvarianten aus der Mapping-Tabelle durchlaufen
Mit den Abfragen Adressen und Mapping wird die Schreibweisen der Straßennamen mittels flexibler Ersetzung vereinheitlicht
Wer sich nicht nur für die Lösung, sondern auch für deren Funktionsweise interessiert, erfährt das im nächsten Power-Query-Rezept. Dort erkläre ich, wie aus der Anweisung Text.Replace() eine Funktion entsteht und wie List.Accumulate mit dieser Funktion arbeitet.
- Dipl.-Informatikerin
- Zertifizierte Office-Trainerin mit den Schwerpunkten Excel, Access, Word
- Entwicklerin von Excel-Tools zur Projekt-, Produktions- und Verkaufssteuerung
- Coach bei der Datenaufbereitung mit Access, Power Query und Power Pivot
- Entwicklerin von Access-Datenbanken für Mittelständler und Behörden
- Bloggerin zu Excel und Access auf www.huegemann-informatik.de
- Autorin für Microsoft Press, dpunkt.verlag und das »Projekt Magazin«
Über den Autor