DatenverarbeitungsfunktionenMapForce® 2012 ist ein leistungsstarkes, flexibles Tool zur Definition von benutzerdefinierten Datenverarbeitungsfunktionen zwischen Quell- und Zieldateien. MapForce bietet Ihnen eine erweiterbare Bibliothek mit Datenverarbeitungsfunktionen zum Filtern und zur Manipulation von Daten gemäß den Anforderungen Ihres Datenmappingprojekts. Des Weiteren hilft Ihnen MapForce Zeit zu sparen, da Sie damit bereits fertig gestellte, getestete Projekte weiter verwenden können, denn MapForce gestattet Ihnen, bestehenden Datenkonvertierungscode oder eine XSLT 1.0 oder 2.0-Datei in eine Funktionsbibliothek zur weiteren Verwendung zu importieren. Außerdem enthält die Applikation einen visuellen Function Builder zum Definieren benutzerdefinierter Funktionen, in denen mehrere Operationen zusammengefasst werden. Benutzerdefinierte DatenverarbeitungsfunktionenMit MapForce sind selbst hochkomplexe Konvertierungsszenarien möglich, dank einer umfassenden Datenmapping-Funktionsbibliothek, die Ihnen gestattet, Regeln auf Basis von Bedingungen, Booleschen Operatoren, Stringoperationen, mathematischen Berechnungen, SQL- und SQL/XML-Anweisungen oder beliebigen benutzerdefinierten Funktionen zu definieren. Sie können sogar einen bestehenden Webservice verwenden, um Daten in einem Mapping anzuzeigen oder zu verarbeiten. Im unten gezeigten Screenshot von MapForce enthält das Kästchen zwischen den Linien, die die Datenquelle mit dem Ziel verbinden, eine Datenverarbeitungsfunktion, die vor dem endgültigen Mapping an den Datenelementen benutzerdefinierte Datenmanipulationen durchführt.
In diesem einfachen XML-zu-XML-Mapping enthält das XML-Quellschema (Exp Report) ein Datenelement Person, das die separaten Child-Elemente First (Vorname) und Last (Nachname) hat. Das XML-Zielschema (Marketing Expenses) hingegen enthält nur ein einziges Datenelement,FullName für Vor- und Nachnamen. Definiert wird ein Mapping, welches die Datenverarbeitungsfunktion concat (Aneinanderkettung) verwendet, um die Daten zweier separater Elemente zu einem Datenelement zu kombinieren, welches in das XML-Zielschema passt. Parametrisieren von TransformationenMapForce unterstützt außerdem Input-Parameter für eine Transformation. Auf diese Art können Sie externe Parameter eingeben, die die Mapping-Transformationen beeinflussen. Dies erweist sich v.a. dann als äußerst nützlich, wenn Sie in Ihren eigenen Datenintegrationsapplikationen von MapForce generierte Transformationen verwenden wollen und Ihr Mapping Projekt Filter enthält, die in Antwort auf diese Input-Parameter Informationen aus der Datenquelle extrahieren. Die Input-Parameter für die Transformation können an die Mapping-Hauptfunktion übergeben werden, die vom MapForce Code Generator in Java, C# oder C++ erzeugt wurde. Diese Parametrisierung von Transformationscode ist eine effiziente neue Methode, um Ihre Mapping-Projekte flexibler zu gestalten, und gestattet Ihnen, MapForce auch für hochkomplexe und anspruchsvolle Applikationen zu verwenden. FunktionsbibliothekMapForce enthält eine reichhaltige Funktionsbibliothek zum Erstellen von professionellen Datenverarbeitungsfunktionen, um jede beliebige Berechnung an Daten durchführen zu können, um diese an das Inhaltsmodell des Zielschemas anzupassen. Alle Funktionen stehen im Bibliotheksbereich des Design-Fensters in Form eines hierarchischen Baumdiagramms, das Sie erweitern und reduzieren können, zur Verfügung. Viele vordefinierte Funktionen wie z.B. concatenate, add, multiply usw. unterstützen nun eine unbeschränkte Anzahl von Parametern, wodurch die Durchführung mathematischer Berechnungen und die Kombination mehrerer Parameter zum Kinderspiel wird. Mit Hilfe von Aggregatfunktionen können Sie Berechnungen an ganzen Gruppen von Daten durchführen und anschließend einen einzigen Wert an das Mapping-Ziel übergeben. Zu den Aggregatfunktionen zählen count, sum, min, average, join-string und andere. Bei den Funktionen in der Core-Bibliothek handelt es sich um allgemeine Funktionen, die nicht auf eine bestimmte Ausgabeart beschränkt sind. Mit Hilfe dieser Core-Funktionen können Sie durch einfaches Auswählen der benötigten Sprache(n) XSLT 1.0/2.0-, XQuery-, Java-, C++ oder C#-Datenkonvertierungscode erstellen. Das nachfolgende Beispiel zeigt einige der Funktionen aus der Core-Bibliothek, wie logische Operatoren, mathematische Funktionen und allgemeine String-Operationen.
Im Folgenden finden Sie nur einige Beispiele für die umfangreichen Funktionalitäten, die Ihnen in MapForce zur Verfügung stehen: GruppierungDamit können Quelldaten für die Ausgabe in Gruppen kombiniert werden, sodass anschließend Verarbeitungsanweisungen daran ausgeführt werden können, die die flachen Daten im Wesentlichen in eine hierarchische Struktur transformieren. Im nachfolgenden einfachen Beispiel wurde eine CSV-Datei (hier in Excel 2003 gezeigt) mit Hilfe der group-by-Funktion in XML konvertiert.
Unterhalb sehen Sie einen Screenshot dieses Mappings in MapForce:
Die Gruppierungsfunktion bietet Benutzern enorme Flexibilität beim Arbeiten mit und dem Wiederverwerten von Daten auf die verschiedensten Arten. Zu den Gruppierungsfunktionen gehören die folgenden:
Diese Funktionen stehen in der Funktionsbibliothek als Sequenzfunktionen zur Verfügung. Die Gruppierungsfunktion steht für XSLT 2.0, Java, C# und C++ zur Verfügung. Formatieren von Zahlen, Daten und UhrzeitMapForce bietet eine Reihe unterschiedlicher Formatierungsfunktionen, mit denen Sie Zahlen, Daten und Uhrzeitformate ganz einfach in die entsprechende String-Form konvertieren können. So konvertiert z.B. die einfache unten gezeigte format-number-Funktion eine numerische Eingabe (z.B. 12345) in ein Währungsformat mit dem USD-Präfix, wobei an der Tausenderstelle ein Komma und nach dem Punkt zwei Kommastellen eingefügt wurden (z.B. $12,345.00).
Parsen von Zahlen, Daten und UhrzeitDabei handelt sich um die umgekehrte Version der oben beschriebenen Funktion. Sie können damit formatierte Zahlen, Datums- und Zeitangaben in die numerische Darstellung konvertieren. So parst die unten gezeigte parse-number-Funktion etwa den String-Input 31,234.50 in die einfache Zahl 31234.5.
Eindeutige Werte-FunktionMit Hilfe der Eindeutige-Werte-Funktion können mehrmals vorkommende Werte automatisch aus dem Ergebnis eines Mappings entfernt werden. Diese Funktion steht in der MapForce-Funktionsbibliothek unter Sequenzfunktionen zur Verfügung und kann einfach durch Ziehen in das Design-Fenster in jedes Mapping eingefügt werden. Im nachfolgenden Beispiel wird jeder Abteilungsname nur einmal im Ausgabedokument angezeigt.
PositionsfunktionDurch die neue Positionsfunktion in der MapForce-Funktionsbibliothek kann das Ausgabeergebnis auf Basis der Kontextposition der Daten im Input-Dokument zurückgegeben werden (d.h. lies/übersetze nur die nte Zeile/den nten Node). Im Beispiel unten werden im Ausgabedokument nur Daten zu den ersten beiden im Input-Dokument aufgelisteten Personen ausgegeben.
Diese Funktion steht in der MapForce-Funktionsbibliothek unter "node functions" zur Verfügung und kann einfach durch Ziehen in das Design-Fenster in jedes Mapping eingefügt werden. Tokenize-FunktionenMapForce unterstützt die folgenden Funktionen, die zum Aufteilen von Daten auf unterschiedliche Arten dienen:
Diese Funktionen stehen in der Funktionsbibliothek als Stringfunktionen zur Verfügung. Node Name-FunktionDie Funktion "node-name" gibt den QName des ausgewählten Node zurück. Diese Funktion steht in der Funktionsbibliothek unter Node-Funktionen zur Verfügung.
Unterhalb der Core-Bibliothek zeigt MapForce nur die Bibliotheken und Funktionen an, die in der gewählten Ausgabesprache verfügbar sind. Wenn Sie die Sprache wechseln und Ihr Mapping eine Funktion enthält, die in dieser Sprache nicht verfügbar ist, gibt MapForce eine Warnmeldung aus. MapForce Datenverarbeitungsfunktionen sind erweiterbare Funktionen. Sie können mühelos eigene Funktionsbibliotheken erstellen, eine XSLT-Datei importieren und als Funktionsbibliothek verwenden oder Datenkonvertierungscode in eine Funktionsbibliothek umwandeln. So können Sie z.B. auch die XSLT-Standardbibliothek importieren, die hier zum Download zur Verfügung steht. Außerdem können Sie eine Verbindung zu Webservices herstellen, um Daten abzurufen oder zu bearbeiten, bevor diese an das Mappingziel übergeben werden. Des Weiteren enthält MapForce den leistungsstarken visuellen Function Builder zum Definieren und Speichern komplexer Funktionen. Um eine Datenverarbeitungsfunktion zu verwenden, ziehen Sie die gewünschte Funktion einfach mit der Maus aus der Funktionsbibliothek in das MapForce Design-Fenster. Verbinden Sie die gewünschten Elemente aus dem Quelldatenmodell mit den Inputs der Datenverarbeitungsfunktion und den Output der Datenverarbeitungsfunktion mit dem/den Zielschema(s). MapForce unterstützt komplexe Datenverarbeitungsfunktionen, sodass Sie das Ergebnis einer Funktion als Input in einer anderen Funktion verwenden und diese je nach Anforderung miteinander verketten können, bevor die Datentransformation durchgeführt wird. Komplexe Funktionen wie diese können gespeichert und über den visuellen Function Builder wiederverwendet werden. Filter und BedingungenFilter und Bedingungen stehen in der MapForce-Symbolleiste zur Verfügung. Wenn Sie diese Datenverarbeitungsfunktionen in einem Mapping einfügen, können Sie damit auf Basis Boolescher Bedingungen Daten aus der Datenquelle auswählen.
Mit der if-else-Bedingung können in MapForce beliebig viele Variablen verwendet werden. Mit Hilfe dieser Funktion, die in vielen Programmiersprachen einer Switch-Anweisung entspricht, können Sie den Datenfluss in Ihrem Mapping-Projekten einfach steuern, indem Sie einem Wert ein bestimmtes Kriterium zuordnen. In der Abbildung unten sehen Sie z.B., wie mit Hilfe der if-then-Komponente in Verbindung mit anderen Komponenten Temperaturdaten analysiert werden um die folgenden Ergebnisse zu erzeugen:
Wenn Sie mit einer Datenbank als Mapping-Quelle arbeiten, bietet MapForce umfangreiche Funktionen für SQL SELECT- und WHERE-Anweisungen, sodass Sie Mapping-Komponenten, die auf diesen Operatoren basieren, einfügen können. Für manche Datenverarbeitungsfunktionen muss eine Konstante eingegeben werden. So müssen Sie z.B. beim Verketten der Daten in zwei Elementen ein Leerzeichen einfügen. Durch Klicken auf die Symbolleisten-Schaltfläche "Konstante einfügen" lässt sich eine Konstante in das Mapping einfügen. In MapForce können Sie Standardwerte für bestimmte Elemente definieren, wenn die Ausgabe eines Mappings Null ist oder fehlt. Dank dieser Funktion können Sie stringente if/then-Datenverarbeitungsregeln in Ihrem Mapping-Projekt definieren, um sicherzustellen, dass die Ausgabedaten dem Zielmodell entsprechen. Unter Umständen müssen die Werte eines Input-Felds auch in eine andere Gruppe von Ergebnisdaten umgewandelt werden. Wenn z.B. die Monate in Ihrer Mapping-Quelle durch Zahlen dargestellt werden, in der Zieldatei aber in Form von Monatsnamen benötigt werden, können Sie die Wertezuordnungsfunktion so konfigurieren, dass die Zahlen auf die entsprechenden Monatsnamen gemappt werden (1 auf Jänner, 2 auf Februar usw.). Wenn Sie in einem Datenmapping auf eine Wertezuordnung doppelklicken, können Sie eine Lookup-Tabelle mit den Eingabe- und Ergebniswerten erstellen.
Die Wertezuordnungsfunktion kann für viele Bedingungsarten verwendet werden: Wenn die Quelldaten z.B. lauten “Auftrag fertig gestellt” können Sie in das Zieldatenfeld "Rechnung senden" schreiben usw. Mit Hilfe der neuen Funktion lassen sich präzise Mappings von XML-, Datenbank-, Flat File-, EDI-, Excel 2007+-, XBRL- und Webservice-Daten definieren. ZwischenvariablenBei Zwischenvariablen handelt es sich um eine spezielle Art von Komponente, in der ein Mapping-Zwischenergebnis zur weiteren Verarbeitung gespeichert wird, um mit Hilfe dieses Ergebnisses verschiedene komplexe Mapping-Probleme zu lösen. Eine Zwischenvariable gleicht einer regulären benutzerdefinierten (nicht-inline) Funktion und ist eine Strukturkomponente ohne eine Instanzdatei. Zwischenvariablen werden im Mapping durch eine strichlierte Umrandung gekennzeichnet. Über das Input-Element "compute-when" können Sie die Geltungsbereich der Variablen bestimmen. D.h. mit "compute-when" wird definiert wann und wie oft der Variablenwert bei der Ausführung des Mappings berechnet wird. In vielen Fällen müssen Sie diesen Input verbinden, manchmal muss der Standardkontext jedoch außer Kraft gesetzt werden, um die Mapping-Leistung zu optimieren.
Eine neue Variable wird über das Menü "Einfügen" oder über die Schaltfläche "Variable" in der Symbolleiste "Komponente einfügen" in das Mapping eingefügt. In beiden Fällen wird sofort das Dialogfeld "Variable erstellen" aufgerufen. Eine einfache Variable kann für einen beliebigen aus Dutzenden gebräuchlicher Datentypen stehen, wie z.B. string, integer, boolean, decimal, dateTime, usw.
Eine komplexe Variable kann auf einem XML-Schema, einer Datenbank, einer EDI- oder FlexText-Struktur basieren.
Benutzer von MapForce mit Programmiererfahrung arbeiten gerne mit Variablen, die Teilergebnisse eines Mappings oder sogar unbekannten Inhalt enthalten. Durch Anwendung dieser Strategie auf ein MapForce-Datenmappingprojekt können Sie Mappings beschleunigen und vereinfachen oder Teilergebnisse eines Mappings sogar für einen anderen Zweck verwenden. Sehen Sie selbst, wie einfach sich benutzerdefinierte Datenverarbeitungsfunktionen für Ihre Datenintegrationsprojekte erstellen lassen. Downloaden Sie eine kostenlose 30-Tage-Testversion von MapForce. |
| ||||||||||||
| Altova | Rechtsabteilung | Presse | Partner | Karriere | Übersicht | Kontakt | Altova Blog | Mobile | Full Site | |||
|
