Vergleichen von Datensätzen mithilfe mehrerer Vergleichsregeln

Wenn Sie über zu vergleichende Datensätze verfügen und Sie mehr als einen Vergleichsvorgang verwenden möchten, können Sie einen Datenfluss erstellen, der mehr als einen Vergleichsschlüssel verwendet und dann die Ergebnisse kombiniert, um mehrere separate Kriterien effektiv zu vergleichen. Beispiel: Sie möchten einen Datenfluss erstellen, der Datensätze anhand folgender Kriterien vergleicht:

Name und Adresse stimmen überein.
OR
Geburtsdatum und Ausweisnummer stimmen überein.

Um einen Vergleich anhand dieser Logik durchzuführen, erstellen Sie einen Datenfluss, der in einem Schritt Name und Adresse und in einem anderen Schritt Geburtsdatum und Ausweisnummer vergleicht und dann die entsprechenden Datensätze in einer einzelnen Sammlung kombiniert.

In diesem Thema wird die allgemeine Vorgehensweise beschrieben, wie ein Datenfluss eingerichtet wird, der zwei Vergleichsschritte verwendet. Diese Prozedur verwendet zur Veranschaulichung „Intraflow Match“-Schritte. Sie können diese Technik jedoch auch mit „Interflow Match“-Schritten anwenden.

  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. Definieren Sie den ersten Vergleichsdurchlauf. Die Ergebnisse dieses ersten Vergleichsdurchlaufs bestehen aus Datensätzen, die bezüglich Ihres ersten Satzes an Vergleichskriterien übereinstimmen, in diesem Fall im Namen und in der Adresse.
    1. Ziehen Sie einen „Match Key Generator“- und einen „Intraflow Match“-Schritt auf die Arbeitsfläche und verbinden Sie sie gemäß dem folgenden Beispiel:
    1. Definieren Sie im „Match Key Generator“-Schritt den Vergleichsschlüssel, der für den ersten Vergleichsdurchlauf verwendet werden soll.

      Wenn Sie beispielsweise im ersten Vergleichsdurchlauf Name und Adresse vergleichen möchten, können Sie einen Vergleichsschlüssel erstellen, der auf den Feldern mit dem Nachnamen und der Postleitzahl basiert.

    2. Definieren Sie im „Intraflow Match“-Schritt die Vergleichsregeln, die im ersten Vergleichsdurchlauf angewendet werden sollen.

      Sie können diese Vergleichsschritte zum Beispiel konfigurieren, Name und Adresse zu vergleichen.

  5. Speichern Sie die Sammlungsnummern aus dem ersten Vergleichsdurchlauf in einem anderen Feld. Dies ist erforderlich, da das Feld „CollectionNumber“ im Verlauf des zweiten Vergleichsdurchlaufs überschrieben wird. Das Feld „CollectionNumber“ muss umbenannt werden, um die Ergebnisse des ersten Vergleichsdurchlaufs zu bewahren.
    1. Ziehen Sie einen Transformer-Schritt auf die Arbeitsfläche und verbinden Sie ihn mit dem „Intraflow Match“-Schritt, sodass sich folgender Datenfluss ergibt:


    2. Konfigurieren Sie den Transformer-Schritt, das Feld „CollectionNumber“ in „CollectionNumberPass1“ umzubenennen.
  6. Definieren Sie den zweiten Vergleichsdurchlauf. Die Ergebnisse dieses zweiten Vergleichsdurchlaufs bestehen aus Datensätzen, die bezüglich Ihres zweiten Satzes an Vergleichskriterien übereinstimmen, in diesem Fall im Geburtsdatum und in der Ausweisnummer.
    1. Ziehen Sie einen „Match Key Generator“- und einen „Intraflow Match“-Schritt auf die Arbeitsfläche und verbinden Sie sie gemäß dem folgenden Beispiel:
    2. Definieren Sie im zweiten „Match Key Generator“-Schritt den Vergleichsschlüssel, der für den zweiten Vergleichsdurchlauf verwendet werden soll.

      Wenn Sie beispielsweise im zweiten Vergleichsdurchlauf Geburtsdatum und Ausweisnummer vergleichen möchten, können Sie einen Vergleichsschlüssel erstellen, der auf den Feldern mit dem Geburtstag und der Ausweisnummer basiert.

    3. Definieren Sie im zweiten „Intraflow Match“-Schritt die Vergleichsregel, die im zweiten Vergleichsdurchlauf angewendet werden soll.

      Sie können diesen Vergleichsschritt zum Beispiel konfigurieren, Geburtsdatum und Ausweisnummer zu vergleichen.

  7. Prüfen Sie, ob im zweiten Vergleichsdurchlauf gefundene Datensatzduplikate auch im ersten Vergleichsdurchlauf gefunden wurden.
    1. Führen Sie den Datenfluss nach dem zweiten „Intraflow Match“-Schritt wie unten dargestellt fort:
    2. Konfigurieren Sie den „Conditional Router“-Schritt so, dass Datensätze, bei denen das Feld „CollectionNumber“ ungleich „0“ ist, zum „Duplicate Synchronization“-Schritt weitergeleitet werden.

      So werden die Dubletten aus dem ersten Vergleichsschritt dem „Duplicate Synchronization“-Schritt geleitet.

    3. Konfigurieren Sie den „Duplicate Synchronization“-Schritt so, dass Datensätze nach dem Feld „CollectionNumber“ (nach der Sammlungsnummer aus dem zweiten Vergleichsdurchlauf) gruppiert werden. Prüfen Sie dann bei jeder Sammlung, ob Datensätze der Sammlung auch im ersten Vergleichsdurchlauf als Dubletten identifiziert wurden. Wenn welche gefunden wurden, kopieren Sie die Sammlungsnummer aus dem ersten Durchlauf in ein neues Feld namens „CollectionNumberConsolidated“. Konfigurieren Sie dazu Duplicate Synchronization wie folgt:
    4. Erstellen Sie im Transformer-Schritt nach dem „Duplicate Synchronization“-Schritt eine benutzerdefinierte Transformation unter Verwendung des folgenden Skripts:
      if (data['CollectionNumberConsolidated'] == null) {
       data['CollectionNumberConsolidated'] = data['CollectionNumber']
      }
    5. Konfigurieren Sie im Transformer, der direkt auf Conditional Router folgt (Transformer 2 im Beispieldatenfluss), eine Transformation, die „CollectionNumberPass1“ nach „CollectionNumberConsolidated“ kopiert.

      Dabei wird bei den eindeutigen Datensätzen aus dem zweiten Vergleichsdurchlauf „CollectionNumberPass1“ nach „CollectionNumberConsolidated“ kopiert.

  8. Nach dem Stream Combiner verfügen Sie über Sammlungen von Datensätzen, die in einer der Vergleichsdurchläufe Übereinstimmungen aufwiesen. Das Feld „CollectionNumberConsolidated“ zeigt die übereinstimmenden Datensätze an. Nach dem „Stream Combiner“-Schritt können Sie eine Datenladung oder eine beliebige zusätzliche Verarbeitung anfügen.