Altova MapForce 2024 Enterprise Edition

Bei einer Join-Verknüpfung müssen Datenelemente aus zwei oder mehr Strukturen auf Basis einer Bedingung miteinander kombiniert werden, daher ist für eine Join-Verknüpfung immer mindestens eine Bedingung erforderlich. Es gibt verschiedene Möglichkeiten, um Join-Bedingungen hinzuzufügen. Siehe unten.

 

Anmerkung:Wenn Datenbanktabellen im SQL-Modus mittels Join verknüpft werden, erstellt MapForce die Join-Bedingung (oder Bedingungen) automatisch auf Basis von zwischen Tabellen gefundenen Sekundärschlüsselbeziehungen. Damit dies möglich ist, müssen sich die Datenbanktabellen in der MapForce-Komponente in einer Child-Parent-Beziehung befinden (d.h. eine Tabelle muss "Parent" oder "Child" einer anderen in der Komponente sein), siehe Beispiel: Verknüpfen von Tabellen mittels Join im SQL-Modus.

 

Methode 1: Hinzufügen einer Join-Bedingung über die Komponenteneigenschaften

1.Stellen Sie im Mapping sicher, dass mindestens zwei Strukturen (oder Datenbanktabellen) mit der Join-Komponente verbunden sind. Die in diesem Beispiel gezeigte Join-Komponente ist Teil des JoinPeopleInfo.mfd Mappings aus dem Ordner <Dokumente>\Altova\MapForce2024\MapForceExamples\. Dieses Mapping wird im Beispiel: Verknüpfen von XML-Strukturen näher erläutert.

2.Klicken Sie in der Join-Komponente auf die Schaltfläche Join-Bedingung definieren ( mf_ic_join_key ) (oder klicken Sie mit der rechten Maustaste auf die Überschrift der Komponente und wählen Sie im Kontextmenü den Befehl Eigenschaften).

3.Wählen Sie ein Datenelement aus der linken Struktur sowie ein weiteres aus der rechten Struktur aus (Immer wenn das Ergebnis des Vergleichs dieses Paars "true" ergibt, werden die linke und die rechte Struktur miteinander verknüpft).

mf_map_JoinPeopleInfo3

Um mehrere Bedingungen hinzuzufügen, klicken Sie auf Bedingung hinzufügen und wählen Sie ein neues Datenelementpaar aus. So wurden etwa in der Abbildung oben zwei Join-Bedingungen definiert:

 

1.FirstName in der Struktur 1 muss gleich FirstName in Struktur 2 sein und

2.LastName in Struktur 1 muss gleich LastName in Struktur 2 sein.

 

Um eine Bedingung zu entfernen, klicken Sie auf die Schaltfläche Löschen mf_join_condition_delete neben der jeweiligen Bedingung.

 

Anmerkungen:

 

Wenn mehrere Join-Bedingungen vorhanden sind, müssen alle davon erfüllt werden, damit die beiden Strukturen miteinander verknüpft werden. Anders ausgedrückt, werden mehrere Bedingungen mittels einer logischen UND-Operation miteinander verknüpft. Darin eingeschlossen sind auch optionale über das Mapping hinzugefügte Bedingungen (siehe Methode 2 weiter unten).

Wenn mehr als zwei Strukturen mit der Join-Komponente verbunden sind, werden diese optionalen Strukturen in der Dropdown-Liste unterhalb von "Struktur 2" angezeigt. Wenn Sie eine solche zusätzliche Struktur aus der Dropdown-Liste auswählen, werden im linken Bereich alle Strukturen, die vor der Join-Komponente vorkommen, angezeigt. Auf diese Art können Sie zwischen jeder der vielen Strukturen Join-Bedingungen definieren. Ein Beispiel dazu finden Sie unter Beispiel: Erstellen eines CSV-Berichts anhand mehrerer Tabellen.

Um den Datentyp von Datenelementen in den einzelnen Strukturen anzuzeigen, aktivieren Sie das Kontrollkästchen Datentypen anzeigen. Mit der Option Annotationen anzeigen werden zusätzliche Informationen zu Datenelementen angezeigt, vorausgesetzt solche Informationen sind im zugrunde liegenden Schema (bzw. der Datenbank) vorhanden. Wenn beide Kontrollkästchen aktiviert sind, ändert sich das Layout und es werden sowohl Annotationen als auch Datentypen angezeigt, z.B.:

 

mf_join_types_annotations

 

Methode 2: Hinzufügen einer Join-Bedingung über das Mapping

Fügen Sie im Mapping Komponenten hinzu, deren Ergebnis ein Boolescher Wert ist und verbinden Sie dann den Booleschen Output mit dem Input des Datenelements condition. So kann z.B. mit Hilfe der equal-Funktion ein Wert mit einem Datenelement aus dem Mapping verglichen werden und das Boolesche Ergebnis kann als Input an das condition-Datenelement der Join-Komponente übergeben werden.

mff_join_external
Anmerkung:Wenn über die Eigenschaften der Join-Komponente keine Bedingung definiert ist (Methode 1), muss das Datenelement condition der Join-Komponente verbunden werden (Methode 2).

 

Methode 3: Gemischte Methode

Sie können im selben Mapping einige Join-Bedingungen in den Komponenteneigenschaften (Methode 1) definieren und diese mit einer aus dem Mapping (Methode 2) kombinieren. Wenn Sie jedoch beabsichtigen, Datenbanktabellen im SQL-Modus zu verknüpfen, müssen die Bedingungen unbedingt mit Methode 1 definiert werden (siehe Join-Verknüpfungen im SQL-Modus).

© 2017-2023 Altova GmbH