AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Adressen abgleichen

Ein Thema von Jasocul · begonnen am 11. Jun 2018 · letzter Beitrag vom 12. Jun 2018
Antwort Antwort
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.341 Beiträge
 
Delphi 11 Alexandria
 
#1

Adressen abgleichen

  Alt 11. Jun 2018, 07:44
Folgende Situation:
Wir haben in unserer Datenbank die Adressen unserer Kunden. Soweit nichts ungewöhnliches.
Außerdem stehen in der DB auch die Adressen der Kunden unserer Kunden. Diese werden in der Regeln von unseren Kunden geliefert.

Jetzt kann es passieren, dass der Kunde eines Kunden gleichzeitig auch unser Kunde sein kann.
Das wird von uns durch spezielle Algorithmen geprüft und im Zweifel manuell nachgeprüft und festgehalten.
Bis dahin alles kein Problem.

Durch eine Firmenzusammenführung, bekommen wir jetzt aber täglich Daten aus einem anderen System, die wir nicht durch diesen Algo schicken können. Erklärungen, warum das nicht geht, spare ich mir.
Für diese zusätzlichen Daten, soll ebenfalls festgehalten werden, ob ein Kunde eines Kunden, gleichzeitig Kunde bei uns ist. Da dieser Zustand im anderen System nicht festgehalten wird, geht das nur über einen Adressen-Abgleich bei den gelieferten Daten. Was man bei Adressen alles unterschiedlich oder falsch eingeben kann, ist wohl jedem klar (Phonetik, Abkürzungen, Tippfehler, Wort- und Buchstabendreher, ...).

Der Abgleich muss täglich neu gemacht werden. Natürlich nur für die Adressen, die noch keine Zuordnung haben.

Sicher wäre es mir möglich, so einen Algorithmus zu entwickeln, aber zum Einen will ich das Rad nicht neu erfinden, zum Anderen brauchen wir die Lösung einigermaßen zeitnah.

Nun zur Frage:
Gibt es bereits passende Komponenten oder Methodensammlungen, die das können? Bisher habe ich nur fertige Programme dazu gefunden, aber wir müssen das in unsere täglichen Abläufe integrieren und beeinflussen können. Das kann mit fertigen Anwendungen problematisch werden.
Peter
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Adressen abgleichen

  Alt 11. Jun 2018, 11:07
Harte Fakten wären wohl Adressgleichheit und (Tele)Phone Nummer (mit Ungenauigkeit)
Dann Ansprechpartner, ggF. auch Firmenname (sofern aktualisiert nach Zusammenführung, aber wer weiß das schon).

Für den ungenauen Vergleich bieten sich phonetische Algos und sowas wie levenshtein Distnanz an. Ich würde die Vergleiche je Informations Gruppe laufen lassen und Ratings bilden. Dann testen und Schwellwerte für eine "Dublette" definieren.

Ein anderer Ansatz wäre die Nutzung von "normalisierten" Vergleichsfeldern.
Jede Adresse bekommt ein Suchfeld, dass nach einem festen Algorithmus die ersten N Zeichen verschiedener Kennfelder aufnimmt und dabei phonetische -, Steuer-Zeichen und klassische Abkürzungen vereinheitlicht und alles auf Kleinschreibungstellt, u.U. einfach durch weglassen (GmbH, z.Hd., Fr., Frl., Mr. ....)

Hilfreich ist für sowas natürlich eine DB, die solche Algos / Collations schon implementiert hat, sodass nicht alles im Client durchgenudelt werden muss.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.341 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Adressen abgleichen

  Alt 11. Jun 2018, 11:31
Danke für die Tipps, jobo.
Die sind mir alle bekannt. Ich könnte das auch sicher selbst alles umsetzen aber dafür fehlt mir einfach die Zeit. Deswegen fragte ich nach fertigen Komponenten / Methoden-Sammlungen.

Eingesetzte DB ist übrigens MS-SQL.

@hanvas:
Danke, ich werde mir das mal ansehen.
Peter
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Adressen abgleichen

  Alt 11. Jun 2018, 11:59
Ok, Levensthein und diverse "fertige" phonetische Algorithmen wirst Du sicher in MSSQL finden.
Wenn es noch fertiger sein soll und libpostal helfen würde, dann hilft dir dieser Wrapper vielleicht zur Einbindung direkt in MSSQL:
https://github.com/AeroXuk/LibPostalNet
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Adressen abgleichen

  Alt 11. Jun 2018, 16:05
Wir hatten so etwas hier schon mal: https://www.delphipraxis.net/154811-...rozentual.html

Ich habe noch eine Variante, die Adressen mit "c/o" in die Teile davor und danach zerlegt und diese beide getrennt vergleicht.

Welche Methode zu den eigenen Daten am besten passt musst man immer individuell entscheiden.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#6

AW: Adressen abgleichen

  Alt 11. Jun 2018, 16:29
vielleicht hilft Dir fuzzydupes-net weiter.
Eventuell kannst Du es direkt in der MS-SQl Datenbank einbinden Stichwort CLI integration.
Ist nicht für Delphi, aber eventuell einen Blick wert
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
157 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Adressen abgleichen

  Alt 11. Jun 2018, 11:21
Folgende Situation:
Sicher wäre es mir möglich, so einen Algorithmus zu entwickeln, aber zum Einen will ich das Rad nicht neu erfinden, zum Anderen brauchen wir die Lösung einigermaßen zeitnah.

Nun zur Frage:
Gibt es bereits passende Komponenten oder Methodensammlungen, die das können? Bisher habe ich nur fertige Programme dazu gefunden
MailCom (https://adress-designer.de/) hat früher die Komponenten die diese in eigenen Programmen verwenden, einschließlich Delphi Header/Bindings und die notwendigen Referenzdaten verkauft. Einfach mal anrufen ob das noch möglich ist.

Sonst fällt mir nur eine gute (Teil) Komponente ein. Falls Du Postgres verwendest oder verwenden kannst, gibt es für die Adressnormierung "libpostal" (https://github.com/openvenues/libpostal), das ist zwar kein vollständiges System, aber eine sehr wichtige Komponente davon. Libpostal funktioniert gut, sowohl mit deutschen, wie auch mit nichtdeutschen Adressen. Einen (englischer) Blogpost darüber findest Du beispielsweise hier (https://medium.com/@albarrentine/sta...2-80405b988718)

cu Ha-Jö
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz