Transformer

Le stage Transformer modifie les valeurs et le formatage des champs. Vous pouvez sélectionner plus d'un transform à exécuter sur un champ à partir du moment où les noms des champs d'entrée et de sortie sont identiques.

Transformations générales

Construct Field
Utilise les valeurs des champs existants et/ou les valeurs de constante pour remplacer les valeurs de champ ou créer un champ. Par exemple, imaginons que vous disposiez d’un champ nommé City et que vous souhaitiez ajouter l'expression « City of » pour les valeurs du champ City. Vous pouvez créer un modèle ressemblant à ceci :
City of ${City}

Dans le champ To field, vous devez sélectionner le champ City. Cela a pour effet de remplacer les valeurs existantes du champ City par une valeur construite à l’aide du modèle. Par exemple, si la valeur du champ City est Chicago, la nouvelle valeur est City of Chicago.

Certains caractères doivent être précédés d’une barre oblique inverse (« \ ») afin de produire un modèle valide. Par exemple, le caractère de guillemet simple doit être précédé d'une barre oblique inverse comme suit : \'. Consultez groovy-lang.org/syntax.html pour obtenir une liste des caractères qui doivent être précédés d'une barre oblique inverse.

Copy
Copie la valeur d'un champ à un autre.
Personnalisé
Vous permet de définir votre propre transformation à l'aide du langage Groovy. Pour plus d'informations, reportez-vous à la section Création d'une transformation personnalisée.

Pour les utilisateurs du module Location Intelligence, les transformations personnalisées peuvent accéder aux jeux de données spatiales. Reportez-vous à la section Stages du Guide Spectrum Spatial sur support.pb.com.

Renommer
Modifie le nom d'un champ. Vous pouvez effectuer une sélection dans une liste de noms de champs figurant déjà dans le flux de données ou vous pouvez saisir le nom de votre choix.
État
Modifie le champ État pour lui donner une valeur Réussite ou Échec. Si la valeur est réglée sur Echec, des valeurs facultatives Description et Code peuvent également être définies.

Mise en forme des transformations

Case
Modifie la casse (majuscules ou minuscules).
Mask
Applique ou supprime des caractères d'un champ. Pour plus d'informations, reportez-vous à la section Utilisation d'une transformation Masquer.
Pad
Ajoute des caractères à gauche ou à droite de la valeur du champ.

Transformations de chaîne

Minimize Whitespace
Supprime les espaces blancs au début et à la fin d'un champ. Remplace aussi une séquence d'espaces blancs (espaces multiples ou consécutifs, par exemple) par un seul caractère d'espace blanc.
Remove Substring
Supprime toutes les occurrences d'une chaîne dans un champ. Par exemple, vous pouvez supprimer « CA » du champ StateProvince.
Substring
Copie une séquence contiguë de caractères d'un champ dans un autre.
Trim
Supprime les caractères indiqués à gauche, droite ou sur les deux côtés d'un champ. Remarquez sur cette transformation est sensible à la casse.
Truncate
Supprime un nombre spécifié de caractères à gauche et à droite d'un champ.

Transformations de liste

Cette fonction vous permet de créer une transformation en conserve qui agit sur des listes, par exemple l’entrée de Read From XML.

Pour définir des transformations de liste, procédez comme suit :
  1. Sélectionnez une opération de transformation de liste. Les champs d’entrée apparaissent dans une vue d’arborescence à droite.
  2. Sélectionnez un champ valide dans l’arborescence auquel appliquer l'opération. Les propriétés de l’opération s’affichent sous la vue d'arborescence de champs d’entrée.
  3. Indiquez les propriétés de l’opération et cliquez sur Ajouter. La transformation est ajoutée à la liste de la fenêtre parente, c'est-à-dire, la fenêtre « Options de Transformer ».
Créer un champ

Permet la création d’un champ sous le champ de type de liste sélectionné par l'utilisateur. Par exemple, si une liste appelée Football comporte deux clubs, à savoir, Knitters et Lambs, l’utilisateur peut ajouter un nouveau club appelé Irons ; la liste comporte alors trois clubs.

Trier

Exécute un tri sur les valeurs présentes dans le champ sélectionné. Dans une liste complexe, l’utilisateur doit indiquer l’élément clé pour le tri, tandis qu’en cas de liste simple, le tri a lieu sur les éléments présents dans la liste. L’utilisateur peut sélectionner l’ordre de tri, croissant ou décroissant. Dans l’exemple de Football, lorsque la liste comporte trois clubs, l’utilisateur doit sélectionner le champ Nom sous Club pour trier les clubs en fonction du nom. Les entrées de club existantes sont triées dans l'ordre suivant : Irons, Knitters et Lambs, si l'ordre de tri est croissant, et inversement s'il est décroissant. À présent, si l’utilisateur souhaite trier la liste des joueurs, le champ Joueurs doit être sélectionné et l'ordre de tri défini pour ce champ.

Somme

Exécute la sommation de toutes les valeurs présentes dans le champ sélectionné. La sortie est stockée dans un champ défini par l’utilisateur. Par exemple, si l’utilisateur souhaite afficher le total des points obtenus par chaque club de football, il doit sélectionner le champ Points sous Tournoi et indiquer le nom de champ de sortie.

Copy

Effectue une opération de copie du champ sélectionné dans le champ spécifié par l’utilisateur. Lorsque l’utilisateur sélectionne un champ à copier, le champ et tous les champs dessous (le cas échéant) sont copiés dans le nouveau champ spécifié. Cette opération a lieu au même niveau de hiérarchie.

Renommer

Effectue une opération de renommage du champ sélectionné en un nouveau nom spécifié par l’utilisateur.

Le code XML suivant fournit une référence à la fonction Transformation de liste :

<?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>