Zum Inhalt springen

Arbeiten mit hierarchischen Daten im Jitterbit Integration Studio

Einführung

Hierarchische Datenstrukturen enthalten eine oder mehrere Eltern-Kind- oder geschachtelte Beziehungen zwischen Feldern und Datensätzen. Häufige Beispiele sind Kunden mit mehreren Adressen, Bestellungen mit Positionen oder Unternehmen mit mehreren Standorten.

In Integration Studio werden hierarchische Strukturen auch als relationale, mehrstufige, komplexe Daten oder Baumstrukturen bezeichnet.

Für Informationen zur Notation von Knoten und Feldern siehe Knoten und Felder in Schlüsselkonzepte.

Hierarchische Strukturen identifizieren

Hierarchische Daten erscheinen in Transformationen als Baumstruktur:

<customer>
    <id>10123</id>
    <name>ABC Co.</name>
    <addresses>
        <address>
            <street>1 Main St.</street>
            <city>Anytown</city>
            <state>NY</state>
            <zip>12345</zip>
        </address>
        <address>
            <street>1 Time Square</street>
            <city>New York City</city>
            <state>NY</state>
            <zip>54321</zip>
        </address>
    </addresses>
</customer>

Hierarchische Daten abbilden

Beim Abbilden hierarchischer Strukturen müssen Sie innerhalb derselben Ebene abbilden. Zum Beispiel:

  • Elternfelder werden auf Elternfelder abgebildet.
  • Kindfelder werden auf die entsprechenden Kindfelder abgebildet.
  • Schleifenknoten werden automatisch für wiederholende Elemente generiert.

Wenn das automatische Mapping für Ihre Struktur nicht funktioniert, siehe Daten-Schleifen steuern.

Umgang mit Strukturabweichungen

Wenn sich Quell- und Zielstrukturen unterscheiden, können Sie diese mit einer der folgenden Methoden behandeln:

  1. Mehrere Instanzen auf eine einzelne Instanz abbilden: Wenn Sie Arrays auf einzelne Objekte abbilden, sehen Sie diesen Dialog:

    Zitat

    Eine Quelle mit mehreren Instanzen kann nicht auf ein Ziel mit einer einzelnen Instanz abgebildet werden. Möchten Sie das Mapping ändern, um die erste Instanz für jede Quelle zu verwenden?

    Ein Klick auf Ja bildet nur den ersten Datensatz ab, indem #1 zum Pfad hinzugefügt wird.

  2. Hierarchische in flache Strukturen umwandeln: Um einen Ausgabedatensatz pro Kind-Element zu erstellen, befolgen Sie diese Schritte:

    1. Abbildung der Felder vom tiefsten wiederholenden Knoten.
    2. Die Elterndaten wiederholen sich automatisch für jedes Kind.
    3. Die Iteratorlinie bewegt sich zur Kind-Ebene.

Daten-Normalisierung verwenden

Wenn Sie Daten von einer flachen Struktur in eine hierarchische Struktur abbilden, müssen die Daten möglicherweise vor der Transformation normalisiert werden.

Standardmäßig verwendet Harmony einen Normalisierungsalgorithmus, um den Zielbaum zu erstellen. Dieser Prozess wandelt die flache Struktur der Quelle in eine hierarchische Quellstruktur um, die dann auf die hierarchische Zielstruktur abgebildet werden kann.

In der Zielstruktur werden das Wurzelelement und alle mehrfachen Instanz-Elemente unter der Wurzel verwendet, um die Struktur der sekundären Quell-Elemente zu erstellen. Die Attribute (oder Felder) dieser sekundären Quell-Elemente sind flache Datenelemente, die dann in den Abbildungen des entsprechenden Ziel-Elements verwendet werden.

Mit der ordnungsgemäß definierten Quellstruktur vereinfacht sich der Normalisierungsprozess auf das Kombinieren von Knoten mit denselben Eltern.

Sie haben drei Optionen für die Normalisierung:

  • Vollständige Normalisierung: Alle Elemente mit demselben Elternteil und alle Felder werden auf ein Element reduziert. Dies ist die Standardeinstellung.
  • Teilweise Normalisierung: Dies ist dasselbe wie die vollständige Normalisierung, mit der Ausnahme, dass die niedrigsten Kinder nicht normalisiert werden.
  • Keine Normalisierung: Jeder flache Datensatz erstellt einen Zweig von Elementen. Es erfolgt keine Reduzierung der Elemente beim Erstellen der hierarchischen Quellstruktur.

Die hierarchische Struktur kann einen einzelnen Instanzknoten enthalten. In diesem Fall wird nur das erste Element für diese Wurzel beibehalten, und flache Datensätze, die mit diesem Wurzel-Datenelement in Konflikt stehen, werden ignoriert.

Komplexe XML-Schemas behandeln

Wenn Sie ein Schema verwenden, das abgeleitete Typen oder Substitutionsgruppen enthält, müssen Sie einige Eingaben bereitstellen, bevor Sie mit der Transformationszuordnung fortfahren können.

Schema angeben

Abgeleitete Typen oder Substitutionsgruppen sind in XML-basierten XSD- und WSDL-Schemas üblich. Sie können diese Arten von Schemata in einer Aktivität oder in einer Transformation hochladen, oder sie können von einigen Konnektoren direkt vom Endpunkt abgerufen werden. Beispielsweise enthalten Antwortschemata, die von einer gespeicherten Suche in einer NetSuite-Suchaktivität zurückgegeben werden, häufig abgeleitete Typen.

Für weitere Informationen siehe Schemaquellen auswählen.

Abgeleitete Typen oder Substitutionsgruppe auswählen

Nachdem Sie das Schema angegeben haben, wählen Sie die abgeleiteten Typen oder die Substitutionsgruppe innerhalb der Transformation aus. Es kann Knoten geben, für die Sie abgeleitete Typen entweder auf der Quell- oder der Zielseite der Transformation auswählen können.

Ein Link zu Abgeleiteter Typ(en) auswählen oder Substitutionsgruppe wird neben dem Knotennamen angezeigt, sofern zutreffend:

abgeleitete Typen Substitutionsgruppe annotiert pp

Die Benutzeroberfläche ist sowohl für die Auswahl abgeleiteter Typen als auch für die Auswahl einer Substitutionsgruppe gleich.

Klicken Sie auf den Link Abgeleiteter Typ(en) auswählen oder Substitutionsgruppe, um einen Dialog zu öffnen, in dem Sie aus den verfügbaren Knoten auswählen können:

Knoten für abgeleitete Typen hinzufügen oder entfernen

Um die Liste der Knoten zu filtern, geben Sie einen Teil des Knotennamens in das Suchfeld ein. Die Suche ist nicht groß-/kleinschreibungsempfindlich.

Wählen Sie die Knoten aus, die Sie möchten, indem Sie die Kontrollkästchen neben den Knotennamen aktivieren. Die Links Alle auswählen und Alle abwählen können verwendet werden, um alle Knoten auf einmal auszuwählen oder zu löschen. Klicken Sie dann auf OK, um die abgeleiteten Typknoten innerhalb des Schemas zu verwenden.

Hinweis

Wenn Sie eine große Anzahl von abgeleiteten Typknoten auf einmal (30 oder mehr) auswählen, kann das System beim Aktualisieren der Transformation langsam reagieren.

Die ausgewählten Knoten werden dann innerhalb des Schemas angezeigt. Sie können sie erweitern oder reduzieren, um zusätzliche untergeordnete Knoten und Felder innerhalb dieser anzuzeigen:

Quellabgeleitete Typen

Nachdem Sie Knoten ausgewählt haben, können Sie Ihre Auswahl ändern, indem Sie erneut auf den Link Abgeleiteter Typ(en) auswählen oder Substitutionsgruppe klicken, um zum Auswahlbildschirm zurückzukehren und Knoten nach Bedarf hinzuzufügen oder zu entfernen.

Sie können dann wie gewohnt mit der Transformationszuordnung fortfahren, indem Sie die Quellfelder innerhalb der ausgewählten Knoten den Ziel Feldern zuordnen oder indem Sie den Ziel Feldern innerhalb der ausgewählten Knoten zuordnen.