Adressen anreichern: Daten aus einer zweiten Quelle ergänzen (Adressanreicherung)

Adressdaten sind umso wertvoller je mehr Informationen jeder einzelne Datensatz enthält. Oft verteilen sich die für einen bestimmten Zweck benötigten Informationen aber über mehrere Datenquellen. Das kann die zu einer Adresse gehörende Telefonnummer, die Emailadresse, das Kündigungsdatum oder die Information sein, ob es sich bei einer bestimmten Adresse um einen Kunden handelt oder nicht (-> Kundennummer). Sich diese Informationen einzeln von Hand zusammen zu suchen ist in der Regel viel zu aufwendig und von daher kein gangbarer Weg. Um Adressen anzureichern, also um Daten aus dem einen Datenbestand in einen anderen zu übertragen, und zwar genau in denjenigen Datensatz dort, zu dem diese Information auch gehören, benötigt man eine Möglichkeit, bei der dies so weit wie möglich automatisiert ist.

Nun sind aber Adressen leider Daten bei denen es normalerweise nicht so einfach ist einen Datensatz dem anderen zuzuordnen. In der Regel gibt es hierfür kein eindeutiges Kriterium. Denn Adressen setzen sich nicht nur aus verschiedenen Bestandteilen zusammen, sie sind häufig auch unterschiedlich erfasst worden. Schreibfehler sind hier nur eines der Probleme. Dazu kommen vertauschte Worte, Abkürzungen, Auslassungen und Hinzufügungen und im Extremfall sogar Synonyme wie Kosenamen. Um eine Adressanreicherung durchführen zu können benötigt man aber eine möglichst eindeutige Relation zwischen den beiden dafür zu verwendenden Datenbeständen. Das schränkt die Auswahl der hierfür in Frage kommenden Tools sehr weit ein.

Schließlich gibt es dann noch das Problem, dass die für das Anreichern der Adressen zu verwendenden Datenbestände möglicherweise in unterschiedlichen Formaten vorliegen. Die Zieldatenquelle für das Anreichern könnte beispielsweise eine Adressliste sein, die in einer Excel-Datei gespeichert ist. Und die Datenquelle könnte eine Textdatei sein. Oder es handelt sich dabei um Daten aus einer Datenbank, die von einem Datenbankserver wie MySQL oder dem SQL Server verwaltet wird. Natürlich könnte man vor dem eigentlichen Anreichern in einem ersten Arbeitsschritt dafür sorgen, dass beide Datenbestände im gleichen Format vorliegen, indem man diese passend exportiert und/oder konvertiert. Deutlich einfacher ist es aber wenn man hierauf verzichten und die Daten direkt in dem Format verarbeiten kann, in dem sie auch vorliegen.

All das und noch viel mehr beherrschen unter anderem die DataQualityTools. Um damit Adressen anzureichern gehen Sie folgendermaßen vor:

  1. Wenn Sie das nicht schon getan haben, dann laden Sie sich die DataQualityTools hier kostenlos herunter. Installieren Sie das Programm und fordern Sie eine Testfreischaltung an. Damit können Sie dann eine Woche lang ohne jede Einschränkung mit dem Programm arbeiten.
  2. Die Funktion die wir benötigen findet sich im Menü in dem Block 'Abgleich zwischen zwei Tabellen'. Wählen wir dort den 'Abgleich über die postalische Adresse'.

    Abgleich über die postalische Adresse

  3. Nach dem Aufruf dieser Funktion erscheint zunächst die Projektverwaltung. Legen Sie hier ein neues Projekt mit einem beliebigen Projektnamen an und klicken Sie dann auf die Schaltfläche 'Weiter'.
  4. Im nächsten Schritt öffnen wir zunächst mithilfe der Schaltfläche 'Datei öffnen' die Datei mit den zu verarbeitenden Daten.

    Datenquelle Access

    Bei Datenbankservern (MS SQL Server, MySQL, MariaDB, Oracle, IBM DB2 oder PostgreSQL) ist stattdessen zunächst aus der Auswahlliste bei 'Format / Zugriff auf' der entsprechende Datenbankserver auszuwählen. Anschließend ist der Name des Datenbankservers einzugeben. Nach einem Klick auf die Schaltfläche 'mit dem Server verbinden' sind die Zugangsdaten einzugeben. Die Auswahl der gewünschten Datenbank und der Tabelle daraus erfolgt schließlich aus den entsprechenden Auswahllisten.
  5. Anschließend ist dem Programm anzugeben in welcher Spalte der Tabelle es welche Information findet, also beispielsweise in welcher Spalte die Straße steht oder der Name des Orts. Dazu ist aus den Auswahllisten mit den Spaltennamen aus der Tabelle jeweils dasjenige Datenfeld auszuwählen das am besten zu der Bezeichnung links daneben passt.

    Feldzuordnung

    Eine Vorbelegung dieser Feldzuordnung führt das Programm anhand der Spaltennamen automatisch durch. Nachdem wir über die postalische Adresse nach Dubletten suchen wollen müssen auch für alle Bestandteile der postalischen Adresse diejenigen Spalten aus der zu verarbeitenden Tabelle angegeben werden in denen diese Information gespeichert ist. Das Ergebnis der Feldzuordnung kann mithilfe der 'Kontrolle der Feldzuordnung', die sich auf der rechten Hälfte des Bildschirms befindet, kontrolliert werden.
  6. Um die zweite Tabelle angeben zu können klicken Sie auf die Schaltfläche 'Weiter'. Der Dialog zu dem wir gelangen sieht genauso aus wie der vorherige Dialog und ist auch genauso zu bedienen. Geben Sie hier die zweite Tabelle an und nehmen Sie die Feldzuordnung ganz analog zur ersten Tabelle vor.
  7. Mit der Schaltfläche 'Weiter' gelangen wir zu dem Dialog in dem die eigentliche Funktion konfiguriert wird. Hier ist allem voran der Schwellwert für die maximal zulässige Abweichung zwischen zwei Adressen anzugeben.

    Übereinstimmungsfaktor

    Des weiteren können einzelne Bestandteile der postalischen Adresse von dem Abgleich ausgeschlossen werden. Dabei muss natürlich für jeden Bestandteil der postalischen Adresse der mit verglichen werden soll in der in den beiden vorangegangenen Schritten vorgenommenen Feldzuordnung auch eine Spalte aus den beiden Tabellen angegeben werden.

    Hinweis: Die beiden Tabellen zwischen denen die Suche nach Duplikaten durchgeführt werden soll können ganz unterschiedlich aufgebaut sein. Beispielsweise könnte in der einen Tabelle die Hausnummer mit in der gleichen Spalte stehen wie die Straße und in der anderen Tabelle könnte diese Information in zwei getrennten Spalten stehen. Wichtig ist dabei nur, dass in der Feldzuordnung für diese beiden Tabellen auch alle drei Spalten angegeben werden.
  8. Die Tabelle die wir dem Programm als erstes angegeben haben ist normalerweise diejenige Tabelle in der die Adressen aus der zweiten Tabelle gesucht werden.

    Abgleich über die postalische Adresse

    Standardmäßig werden in diesem Fall beim Anreichern Daten aus dieser Tabelle in die zweite Tabelle übertragen. Das lässt sich aber ändern. Zum einen lässt sich an dieser Stelle im Programm die Richtung ändern, in die abgeglichen werden soll. Wird die Richtung geändert, dann werden nicht mehr die Datensätze der zweiten Tabelle in der ersten Tabelle gesucht, sondern die Datensätze der ersten Tabelle in der zweiten. Darüber hinaus kann aber auch später noch, bei der Konfiguration des Anreicherns, angegeben werden, aus welcher Tabelle Daten auf die jeweils andere Tabelle übertragen werden sollen.
  9. Ein Klick auf die Schaltfläche 'Weiter' startet dann die Suche nach Duplikaten. Es dauert nicht lange und es wird eine Zusammenfassung des Ergebnisses angezeigt. 

    Abgleichsergebnis

    Hat das Programm zwischen den zu verarbeitenden Tabellen Dubletten gefunden, dann führt ein Klick auf die Schaltfläche 'OK' zu dem Dialog mit den Funktionen mit denen das Ergebnis weiter verarbeitet werden kann. Ansonsten sollte der Schwellwert für den Übereinstimmungsgrad niedriger gewählt und der Abgleich noch einmal gestartet werden.
  10. In dem Dialog mit den Funktionen mit denen das Ergebnis weiter verarbeitet werden kann findet sich ganz oben eine Schaltfläche mit der Beschriftung 'manuelle Nachbearbeitung'. Hier wird das Ergebnis des Abgleichs in Form einer Tabelle dargestellt. Diejenigen Datensätze die gelöscht werden sollen sind dort mit einem roten Kreuz gekennzeichnet, welches bei Bedarf gelöscht werden kann.

    Abgleichsergebnis

  11. Schließlich muss das Ergebnis dann noch weiterverarbeitet werden. Wie bereits oben erwähnt wollen wir Adressen anreichern, das heißt bestimmte Informationen anhand des Abgleichsergebnisses von dem einen Datenbestand in den Anderen übertragen. Dazu wählen wir die entsprechende Funktion aus, indem wir zuerst auf 'Anreichernfunktionen' klicken:

    Anreichernfunktionen

    Und dann auf 'in der Ursprungstabelle anreichern':

    In der Ursprungstabelle anreichern

  12. Die Tabelle in die die Daten geschrieben werden (= Zieltabelle) ist in unserem Fall die Tabelle 'sample1.xls':

    Zieltabelle

    Dabei werden die Daten von dem Datensatz ohne Löschmarkierung auf den Datensatz mit Löschmarkierung übertragen (siehe Tabelle mit dem Ergebnis wie unter Punkt 10 beschrieben):

    Daten auf den Datensatz MIT Markierung übertragen

    Um die Adressen anzureichern müssen wir dem Programm jetzt nur noch sagen welche Informationen es wohin schreiben soll. Dazu fügen wir an dieser Stelle ein oder mehrere Spaltenpaare hierfür hinzu:

    Spaltenpaar hinzufügen

    Beispielsweise könnte die Information aus der Spalte 'Tel' aus der Quelltabelle in das Datenfeld 'Result A' in der Zieltabelle geschrieben werden und  die Information aus der Spalte 'Email' in das Datenfeld 'Result B'.

    Spaltenzuordnung

    In beiden Fällen soll der Inhalt des Zieldatenfelds gegebenenfalls durch die Information aus der Quelltabelle überschrieben werden (= 'Aktion'):

    Aktion: überschreiben

    Damit liegen jetzt alle für das Anreichern der Adressdaten benötigten Angaben vor. Mit einem Klick auf die Schaltfläche 'Daten verarbeiten' wird dieses gestartet.

Hinweis: Für die DataQualityTools gibt es ein Lehrvideo das am Beispiel der Suche nach doppelten Adressen innerhalb von einer Tabelle in die Bedienung des Programms einführt.