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.
- Sélectionnez une opération de transformation de liste. Les champs d’entrée apparaissent dans une vue d’arborescence à droite.
- 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.
- 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>