Vergleichen von Datensätzen mit einer Datenbank

Diese Schritte beschreiben, wie Datensätze verglichen werden, in denen die Kopfdubletten-Datensätze aus einer Quelle wie einer Datei oder Datenbank stammen und sich die Kandidatendatensätze in einer Datenbank mit weiteren Datensätzen ohne Bezug dazu befinden. Für jeden Eingabedatensatz fragt der Datenfluss die Datenbank auf Kandidaten für diesen Datensatz hin ab und verwendet dann einen „Transactional Match“-Schritt, um Datensätze zu vergleichen. Schließlich schreibt der Datenfluss die Sammlungen übereinstimmender Datensätze in eine Ausgabedatei.

Anmerkung: Transactional Match gleicht lediglich Kopfdubletten-Datensätze mit Kandidaten ab. Es vergleicht keine Kopfdubletten-Datensätze mit anderen Kopfdubletten-Datensätzen, wie es bei Intraflow Match der Fall ist.
  1. Erstellen Sie im Enterprise Designer einen neuen Datenfluss.
  2. Ziehen Sie einen Quellschritt auf die Arbeitsfläche.
  3. Doppelklicken Sie auf den Quellschritt und konfigurieren Sie ihn. Anweisungen zum Konfigurieren von Quellschritten finden Sie im Datenfluss-Designer-Handbuch.
  4. Ziehen Sie einen „Candidate Finder“-Schritt auf die Arbeitsfläche und verbinden Sie ihn mit dem Quellschritt.

    Bei Verwendung des „Read from File“-Quellschrittes würde Ihr Datenfluss so aussehen:

    „Candidate Finder“ erhält die Kandidatendatensätze, die die Gruppe potenzieller Übereinstimmungen bilden, die „Transactional Match“ später im Datenfluss auswertet.

  5. Doppelklicken Sie auf den „Candidate Finder“-Schritt auf der Arbeitsfläche.
  6. Wählen Sie im Feld Verbindung die Datenbank aus, die abgefragt werden soll, um Kandidatendatensätze zu finden. Wenn die gewünschte Datenbank nicht aufgelistet ist, öffnen Sie Management Console und definieren Sie dort zuerst die Datenbankverbindung.
  7. Geben Sie in das Feld „SQL“ eine SQL-SELECT-Anweisung ein, die basierend auf dem Wert in einem der Datenflussfelder Kandidatendatensätze findet. Verwenden Sie zum Referenzieren von Datenflussfeldern das Format ${FieldName}. Dabei ist FieldName der Name des Feldes, das Sie referenzieren möchten.

    Wenn Sie etwa Datensätze in der Datenbank finden möchten, bei denen der Wert in der Spalte „LastName“ identisch mit dem Feld „Customer_LastName“ der Datensätze im Datenfluss ist, würden Sie eine solche SQL-Anweisung schreiben:

    SELECT FirstName, LastName, Address, City, State, PostalCode 
    FROM Customer_Table 
    WHERE LastName = ${Customer_LastName};
  8. Wählen Sie auf der Registerkarte Feldzuordnung aus, welche Felder im Datenfluss die Daten aus jeder Datenbankspalte enthalten sollen.

    In der Spalte Ausgewählte Felder werden die Datenbankspalten und in Schrittfelder die Felder im Datenfluss aufgelistet.

  9. Klicken Sie auf OK.
  10. Ziehen Sie einen „Transactional Match“-Schritt auf die Arbeitsfläche und verbinden Sie den „Candidate Finder“-Schritt damit.

    Bei Verwendung eines „Read from File“-Eingabeschrittes etwa würde Ihr Datenfluss jetzt so aussehen:

    Transactional Match vergleicht Kopfdubletten-Datensätze mit Kandidatendatensätzen, die vom „Candidate Finder“-Schritt zurückgegeben wurden. Transactional Match verwendet Vergleichsregeln, um den Kopfdubletten-Datensatz mit allen Kandidatendatensätzen mit derselben (durch Candidate Finder zugewiesenen) Kandidatengruppennummer zu vergleichen, um Dubletten zu finden.

  11. Doppelklicken Sie auf den „Transactional Match“-Schritt auf der Arbeitsfläche.
  12. Wählen Sie im Feld Vergleichsregel laden eine der vordefinierten Vergleichsregeln aus, die Sie entweder unverändert verwenden oder nach Bedarf ändern können. Wenn Sie eine neue Vergleichsregel erstellen möchten, ohne eine der vordefinierten Vergleichsregeln als Startpunkt zu verwenden, klicken Sie auf Neu. Im Datenfluss darf lediglich eine benutzerdefinierte Regel enthalten sein.
    Anmerkung: Das Feature „Datenflussoptionen“ im Enterprise Designer ermöglicht es, die Vergleichsregel für die Konfiguration zur Laufzeit verfügbar zu machen.
  13. Weitere Informationen zum Ändern der anderen Optionen finden Sie unter Erstellen einer Vergleichsregel.
  14. Wenn Sie mit der Konfiguration des „Transactional Match“-Schrittes fertig sind, klicken Sie auf OK.
  15. Ziehen Sie einen Datenladeschritt auf die Arbeitsfläche und verbinden Sie ihn mit dem „Transactional Match“-Schritt.

    Bei Verwendung eines „Write to File“-Datenladeschrittes würde Ihr Datenfluss so aussehen:

  16. Doppelklicken Sie auf den Datenladeschritt und konfigurieren Sie ihn.

    Informationen zum Konfigurieren von Datenladeschritten finden Sie im Datenfluss-Designer-Handbuch.

Sie haben jetzt einen Datenfluss, der Datensätze aus zwei Datenquellen vergleicht.

Beispiel für den Vergleich von Datensätzen mit einer Datenbank

Als Verkaufsleiter eines Online-Handelsunternehmens möchten Sie herausfinden, ob ein potenzieller Online-Kunde ein Bestandskunde oder ein Neukunde ist.

Der folgende Datenflussdienst bietet eine Lösung für das Geschäftsszenario:

Dieser Datenfluss ist ein Dienst, der die an ihn gesendeten Interessentendaten über einen API- oder Webservice-Aufruf auswertet. Er wertet die Daten anhand der Kundendaten in einer Kundendatenbank aus, um zu ermitteln, ob ein Interessent schon Kunde ist.

Der Input-Schritt ist so konfiguriert, dass der Datenfluss die folgenden Eingabefelder akzeptiert: AddressLine1, City, Name, PostalCode und StateProvince. „AddressLine1“ und „Name“ sind die Felder, die für die Datenflussverarbeitung in dieser Vorlage entscheidend sind.

Im „Candidate Finder“-Schritt werden die Kandidatendatensätze abgerufen, die die Gruppe potenzieller Übereinstimmungen bilden, die im „Transactional Match“-Schritt ausgewertet wird.

Der „Transactional Match“-Schritt vergleicht Kopfdubletten-Datensätze mit Kandidatendatensätzen, die vom „Candidate Finder“-Schritt zurückgegeben werden. Transactional Match verwendet Vergleichsregeln, um den Kopfdubletten-Datensatz mit allen Kandidatendatensätzen mit derselben (durch Candidate Finder zugewiesenen) Kandidatengruppennummer zu vergleichen, um Dubletten zu finden. In diesem Beispiel vergleicht Transactional Match „LastName“ und „AddressLine1“.

Der Output-Schritt gibt die Ergebnisse des Datenflusses über eine API- oder Webservice-Antwort zurück.