Transformer

Der „Transformer“-Schritt ändert Feldwerte und Formatierung. Sie können mehrere Transformationen für ein Feld ausführen, solange die Eingabe- und Ausgabefeldnamen identisch sind.

Allgemeine Transformationen

Feld erstellen
Verwendet Werte aus vorhandenen Feldern und/oder konstante Werte, um Feldwerte entweder zu ersetzen oder ein neues Feld zu erstellen. Angenommen, Sie haben ein Feld mit Namen „City“ und möchten die Wortgruppe „City of“ zu den Werten im Feld „City“ hinzufügen. Sie würden eine Vorlage wie diese erstellen:
City of ${City}

Im Feld An-Feld würden Sie das Feld „City“ auswählen. Dies hat den Effekt, dass die vorhandenen Werte im Feld „City“ durch einen mithilfe der Vorlage erstellten Werte ersetzt werden. Beispiel: Wenn der Wert im Feld „City“ Chicago ist, wäre der neue Wert „City of Chicago“.

Manchen Zeichen muss ein umgekehrter Schrägstrich („\“) vorangestellt werden, um eine gültige Vorlage zu erzeugen. So muss etwa einem einzelnen Anführungszeichen wie folgt ein umgekehrter Schrägstrich vorangestellt werden: \'. Unter groovy-lang.org/syntax.html finden Sie eine Liste der Zeichen, die als Escape-Zeichen einen umgekehrten Schrägstrich erfordern.

Kopieren
Kopiert den Wert aus einem Feld in ein anderes.
Benutzerdefiniert
Ermöglicht Ihnen, mithilfe der Sprache Groovy eigene Transformationen zu definieren. Weitere Informationen finden Sie unter Erstellen einer benutzerdefinierten Transformation.

Für Benutzer des Location Intelligence-Moduls können benutzerdefinierte Transformationen auf Geodaten-Datasets zugreifen. Siehe dazu den Abschnitt „Schritte“ im Spectrum Spatial-Handbuch auf support.pb.com.

Rename
Ändert den Namen eines Feldes. Sie können eine Auswahl aus einer Liste von Feldnamen treffen, die bereits im Datenfluss vorhanden sind, oder Sie können den gewünschten Namen eingeben.
Status
Ändert das Feld „Status“ entweder in einen Erfolgs- oder Fehlerwert. Beim Fehlerwert können auch eine optionale Beschreibung und ein Code festgelegt werden.

Transformationen formatieren

Groß-/Kleinbuchstaben
Ändert die Schreibweise in Groß- oder Kleinbuchstaben.
Maskieren
Wendet Zeichen auf ein Feld an oder entfernt sie daraus. Weitere Informationen finden Sie unter Verwenden einer Maskentransformation.
Auffüllen
Fügt Zeichen links oder rechts vom Feldwert hinzu.

Zeichenfolgentransformationen

Leerzeichen minimieren
Entfernt Leerzeichen am Anfang und Ende des Feldes. Ersetzt auch eine beliebige Folge von Leerzeichen (wie mehrere zusammenhängende Leerzeichen) durch ein einzelnes Leerzeichen.
Teilzeichenfolge entfernen
Entfernt alle Vorkommen einer Zeichenfolge aus einem Feld. Sie könnten beispielsweise „CA“ aus dem Feld „StateProvince“ entfernen.
Teilzeichenfolge
Kopiert eine zusammenhängende Folge von Zeichen aus einem Feld in ein anderes.
Kürzen
Entfernt angegebene Zeichen von links, rechts oder beiden Seiten eines Feldes. Beachten Sie, dass bei dieser Transformation die Groß-/Kleinschreibung beachtet wird.
Abschneiden
Entfernt eine angegebene Anzahl von Zeichen von der linken oder rechten Seite eines Feldes.

Listentransformationen

Dieses Feature hilft Ihnen, vorgefertigte Transformationen zu erstellen, die auf Listen angewendet werden können, beispielsweise Eingabe von „Read from XML“.

Folgen Sie zum Definieren von Listentransformationen den angegebenen Schritten:
  1. Wählen Sie einen Vorgang für die Listentransformationen aus. Eingabefelder erscheinen in einer Strukturansicht auf der rechten Seite.
  2. Wählen Sie in der Struktur ein gültiges Feld aus, auf das der Vorgang angewendet werden soll. Die Eigenschaften des Vorgangs werden unter der Strukturansicht der Eingabefelder angezeigt.
  3. Geben Sie die Vorgangseigenschaften ein, und klicken Sie auf „Hinzufügen“. Die Transformation wird zur Liste im übergeordneten Fenster, also im Fenster „Transformer-Optionen“, hinzugefügt.
Feld erstellen

Ermöglicht das Erstellen eines Felds unterhalb des vom Benutzer ausgewählten Listentypfelds. Wenn beispielsweise in einer Liste namens „football“ zwei Vereine vorhanden sind, „Knitters“ und „Lambs“, kann der Benutzer einen neuen Verein namens „Irons“ hinzufügen, sodass in der Liste drei Vereine vorhanden sind.

Sortieren

Führt Sortiervorgänge mit Werten durch, die im ausgewählten Feld vorhanden sind. In einer komplexen Liste muss der Benutzer das Schlüsselelement für die Sortierung angeben. Bei einer einfachen Liste wird die Sortierung anhand der in der Liste vorhandenen Elemente durchgeführt. Der Benutzer kann als Sortierreihenfolge entweder aufsteigend oder absteigend auswählen. Wenn die Liste im Beispiel „football“ drei Vereine enthält, muss der Benutzer unter „clubs“ das Feld „club name“ auswählen, um die Vereine nach Namen zu sortieren. Die aktuell eingetragenen Vereine werden als „Irons“, „Knitters“ und „Lambs“ aufgelistet, wenn als Sortierreihenfolge aufsteigend festgelegt wurde, oder andersherum, wenn als Sortierreihenfolge absteigend festgelegt wurde. Wenn der Benutzer jetzt die Liste der Spieler sortiert haben möchte, muss er das Feld „player“ auswählen und eine Sortierreihenfolge für das Feld definieren.

Summe

Führt eine Summierung aller Werten durch, die im ausgewählten Feld vorhanden sind. Die Ausgabe wird in einem vom Benutzer angegebenen Feld gespeichert. Wenn der Benutzer beispielsweise die Gesamtpunktzahl jedes Vereins anzeigen möchte, muss er unter „Tournament“ das Feld „points“ auswählen und den Ausgabefeldnamen angeben.

Kopieren

Führt einen Kopiervorgang vom ausgewählten Feld zum durch den Benutzer angegebenen Feld durch. Wenn der Benutzer ein Feld zum Kopieren auswählt, werden dieses Feld und alle untergeordneten Felder (falls vorhanden) zum angegebenen neuen Feld kopiert. Dieser Vorgang findet auf derselben Hierarchieebene statt.

Rename

Führt einen Umbenennungsvorgang mit dem ausgewählten Feld zum durch den Benutzer angegebenen neuen Namen durch.

Der folgende XML-Code bietet eine Referenz für das Feature „Listentransformation“:

<?xml version="1.0"?>
<sports_details>
  <sports name="football">
	<clubs>
	  <club name="Knitters">
		  <player>Samuel</player>
		  <player>Messi</player>
		  <player>kaka</player>
		  <player>Alan</player>
		  <coach>Stuart</coach>
		  <Tournament name="Football League">
			<result>won</result>
			<points>4</points>
		  </Tournament>
		  <Tournament name="UEFA">
			<result>draw</result>
			<points>2</points>
		  </Tournament>
	  </club>
	  <club name="Lambs">
		  <player>Ronaldo</player>
		  <player>Neymar</player>
		  <player>Zlatan</player>
		  <player>Mesut</player>
		  <coach>Ivan</coach>
		  <Tournament name="Airtel League">
			<result>draw</result>
			<points>2</points>
		  </Tournament>
		  <Tournament name="Champions League">
			<result>lost</result>
			<points>0</points>
		  </Tournament>
	  </club>
	  <club name="Irons">
		  <player>Scott</player>
		  <player>Paul</player>
		  <player>John</player>
		  <player>Andrew</player>
		  <coach>Jeff</coach>
		  <Tournament name="CAF">
			<result>won</result>
			<points>4</points>
		  </Tournament>
		  <Tournament name="Copa America">
			<result>won</result>
			<points>4</points>
		  </Tournament>
	  </club>
	</clubs>
  </sports>
  <sports name="badminton">
	<clubs>
	  <club name="Shuttlers">
		  <player>Saina</player>
		  <player>Viktor</player>
		  <player>Chen</player>
		  <player>Srikanth</player>
		  <coach>Jan</coach>
		  <Tournament name="Olympic Games">
			<result>won</result>
			<points>4</points>
		  </Tournament>
		  <Tournament name="Commonwealth Games">
			<result>won</result>
			<points>4</points>
		  </Tournament>
	  </club>
	  <club name="Choppers">
		  <player>Wang</player>
		  <player>Sindhu</player>
		  <player>Carolina</player>
		  <player>Li Xuerui</player>
		  <coach>Ratchanok</coach>
		  <Tournament name="World Junior">
			<result>draw</result>
			<points>2</points>
		  </Tournament>
		  <Tournament name="Uber Cup">
			<result>draw</result>
			<points>2</points>
		  </Tournament>
	  </club>
	  <club name="Lobbers">
		  <player>Nozomi</player>
		  <player>Chou</player>
		  <player>Marc</player>
		  <player>Lin</player>
		  <coach>Kevin</coach>
		  <Tournament name="World Senior">
			<result>won</result>
			<points>4</points>
		  </Tournament>
		  <Tournament name="Thomas Cup">
			<result>won</result>
			<points>4</points>
		  </Tournament>
	  </club>
	</clubs>
  </sports>
</sports_details>