Arbeiten mit hierarchischen Daten in Jitterbit Studio
Einführung
Hierarchische Datenstrukturen enthalten eine oder mehrere Eltern-Kind- oder verschachtelte Beziehungen zwischen Feldern und Datensätzen. Häufige Beispiele sind Kunden mit mehreren Adressen, Bestellungen mit Positionen oder Unternehmen mit mehreren Standorten.
In 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.
Strukturabweichungen behandeln
Wenn sich Quell- und Zielstrukturen unterscheiden, können Sie diese mit einer der folgenden Methoden behandeln:
-
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
#1zum Pfad hinzugefügt wird. -
Hierarchische in flache Strukturen umwandeln: Um einen Ausgabedatensatz pro Kind-Element zu erstellen, befolgen Sie diese Schritte:
- Abbilden der Felder vom tiefsten wiederholenden Knoten.
- Die Elterndaten wiederholen sich automatisch für jedes Kind.
- Die Iteratorzeile 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 Mehrfachinstanz-Elemente unter dem 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 Zielelements 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 Ersatzgruppen enthält, müssen Sie einige Eingaben bereitstellen, bevor Sie mit der Transformationszuordnung fortfahren können.
Schema angeben
Abgeleitete Typen oder Ersatzgruppen 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 sowohl auf der Quell- als auch auf der Zielseite der Transformation auswählen können.
Ein Link zu Abgeleitete(r) Typ(en) auswählen oder Substitutionsgruppe wird neben dem Knotennamen angezeigt, sofern zutreffend:

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 Abgeleitete(r) Typ(en) auswählen oder Substitutionsgruppe, um einen Dialog zu öffnen, in dem Sie aus den verfügbaren Knoten auswählen können:

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 verwenden. Die Links Alle auswählen und Alle abwählen können verwendet werden, um alle Knoten auf einmal auszuwählen oder abzuwählen. 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 auswählen (30 oder mehr), 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:

Nachdem Sie Knoten ausgewählt haben, können Sie Ihre Auswahl ändern, indem Sie erneut auf den Link Abgeleitete(r) 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 Transformation Mapping fortfahren, indem Sie die Quellfelder innerhalb der ausgewählten Knoten den Zielfeldern zuordnen oder indem Sie den Zielfeldern innerhalb der ausgewählten Knoten zuordnen.