Aktivieren Sie bitte JavaScript, um diese Seite anzeigen zu können.

Altova MapForce 2020 Professional Edition

Wenn in Ihrem Mappings Nodes oder Zeilen gruppiert werden müssen, können Sie dies mit Hilfe der folgenden vordefinierten MapForce-Funktionen tun:

 

group-by

group-adjacent

group-into-blocks

group-starting-with

group-ending-with

 

Um eine dieser Funktionen im Mapping zu verwenden, ziehen Sie sie aus dem Fenster "Bibliotheken" in das Mapping. Siehe auch Hinzufügen einer vordefinierten Funktion zum Mapping.

 

Anmerkung:Gruppierfunktionen stehen in den folgenden Sprachen nicht zur Verfügung: XSLT 2.0, C++, C#, Java, Built-In.

 

In den folgenden Abschnitten finden Sie typische Verwendungsbeispiele für die Gruppierung von Funktionen. Dazu gibt es das folgende Demo-Mapping: <Dokumente>\Altova\MapForce2020\MapForceExamples\GroupingFunctions.mfd. Beachten Sie, dass das Demo-Mapping mehrere Transformationen enthält, nämlich eine für jede Funktion. Da immer nur eine Ausgabevorschau auf einmal angezeigt werden kann, klicken Sie auf die Vorschau mf_ic_preview Schaltfläche für die gewünschte Transformation, bevor Sie auf das Ausgaberegister klicken.

 

group-by

Mit der Funktion group-by werden anhand eines von Ihnen definierten Gruppierungsschlüssels Datensatzstrukturen erstellt. So ist etwa  in der unten gezeigten abstrakten Transformation der Gruppierungsschlüssel "Department". Da es insgesamt drei eindeutige Abteilungen (Departments) gibt, würden bei Anwendung der Funktion group-by drei Gruppen erstellt:

mf_group-by

Nähere Informationen dazu finden Sie unter der Funktion group-by.

 

group-adjacent

Für die Funktion group-adjacent ist, ähnlich wie für die Funktion group-by, als Argument ein Gruppierungsschlüssel erforderlich. Im Gegensatz zur Funktion group-by wird mit dieser Funktion immer dann eine neue Gruppe erstellt, wenn der nächste Schlüssel ein anderer ist. Wenn zwei benachbarte Datensätze denselben Schlüssel haben, werden sie in dieselbe Gruppe eingeordnet.

 

So ist etwa in der unten gezeigten abstrakten Transformation der Gruppierungsschlüssel "Department". Auf der linken Seite des Diagramms sehen Sie die Input-Daten, während rechts die Ausgabedaten nach der Gruppierung angezeigt werden. Bei Ausführung der Transformation geschieht Folgendes:

 

Anfangs wird anhand des ersten Schlüssels "Administration" eine neue Gruppe erstellt.

Der nächste Schlüssel ist ein anderer, daher wird eine zweite Gruppe "Marketing" erstellt.

Der dritte Schlüssel ist ebenfalls ein anderer, daher wird eine weitere Gruppe namens "Engineering" erstellt.

Der vierte Schlüssel ist derselbe wie der dritte, daher wird dieser Datensatz in die bereits vorhandene Gruppe platziert.

Der fünfte Schlüssel schließlich ist anders als der vierte, weshalb die letzte Gruppe erstellt wird.

 

Wie unten gezeigt, landen "Michelle Butler" und "Fred Landis" in derselben Gruppe, weil sie denselben Schlüssel aufweisen und nebeneinander liegen. "Vernon Callaby" und "Frank Further" hingegen befinden sich in separaten Gruppen, weil sie nicht benachbart sind, obwohl sie denselben Schlüssel aufweisen.

mf_group-adjacent

Nähere Informationen dazu finden Sie unter der Funktion group-adjacent.

 

group-into-blocks

Mit der Funktion group-into-blocks werden gleiche Gruppen erstellt, die genau N Elemente enthalten, wobei N der an das Argument block-size (Blockgröße) gelieferte Wert ist. Beachten Sie, dass die letzte Gruppe, je nach Anzahl der Elemente in der Quellkomponente, N oder weniger Elemente enthalten kann. Im Beispiel unten ist block-size gleich 2. Da es insgesamt fünf Elemente gibt, enthält jede Gruppe mit Ausnahme der letzten genau zwei Elemente.

mf_group-into-blocks

Nähere Informationen dazu finden Sie unter der Funktion group-into-blocks.

 

group-starting-with

Die Funktion group-starting-with erhält eine Boolsche Bedingung als Argument. Wenn die Boolsche Bedingung "true" ergibt, wird ab dem Datensatz, auf den die Bedingung zutrifft, eine neue Gruppe erstellt. Im Beispiel unten ist die Bedingung, dass "Key" (Schlüssel) gleich "heading" sein soll. Diese Bedingung trifft auf den ersten und vierten Datensatz zu. Daher werden zwei Gruppen erstellt:

mf_group-starting-with

Anmerkung:Wenn vor dem ersten Datensatz, auf den die Bedingung zutrifft, weitere Datensätze vorhanden sind, wird eine zusätzliche Gruppe erstellt. Wenn vor dem ersten "heading"-Datensatz z.B. weitere "line"-Datensätze vorhanden waren, würden diese in eine neue Gruppe platziert.

 

Nähere Informationen dazu finden Sie unter der Funktion group-starting-with.

 

group-ending-with

Die Funktion group-ending-with erhält eine Boolsche Bedingung als Argument. Wenn die Boolsche Bedingung "true" ergibt, wird bis inklusive dem Datensatz, auf den die Bedingung zutrifft, eine neue Gruppe erstellt. Im Beispiel unten ist die Bedingung, dass "Key" (Schlüssel) gleich "trailing" sein soll. Diese Bedingung trifft auf den dritten und fünften Datensatz zu. Daher werden zwei Gruppen erstellt:

mf_group-ending-with

 

Anmerkung:Wenn nach dem letzten Datensatz, auf den die Bedingung zutrifft, weitere Datensätze vorhanden sind, wird eine zusätzliche Gruppe erstellt. Wenn z.B. nach dem letzten "trailing"-Datensatz z.B. weitere "line"-Datensätze vorhanden waren, würden diese in eine neue Gruppe platziert.

 

Nähere Informationen dazu finden Sie unter der Funktion group-ending-with.

© 2019 Altova GmbH