Vous pouvez utiliser l'étape Transformateur pour convertir une ligne unique pour les données avec des valeurs répétées dans une colonne unique vers plusieurs lignes de sortie.
Données d'entrée avec plusieurs valeurs de répétition dans une zone unique
Lorsque vous disposez de données dans lesquelles une seule colonne contient plusieurs valeurs de répétition séparées par un délimiteur, vous pouvez mettre à plat les données pour générer plusieurs colonnes de sortie : une pour chacune des valeurs délimitées. Vous pouvez également indiquer que certaines valeurs sont filtrées et qu'aucune nouvelle ligne n'est créée.Par exemple, la ligne d'entrée contient les données suivantes.
| Col1 |
Col2 |
Noms |
| abc |
def |
Jim/Bob/Tom |
Vous souhaitez mettre à plat la zone de nom afin de créer une nouvelle ligne pour chaque nouveau nom indiqué par la barre oblique inversée (/). Vous souhaitez également filtrer le nom Jim et abandonner la colonne appelée Col2, afin que les données de sortie obtenues pour l'exemple de colonne génèrent deux lignes avec deux colonnes.
Pour implémenter ce scénario dans l'étape Transformateur, procédez comme suit :
- Variable d'étape
- Définissez une variable d'étape pour contenir un nombre de zones séparées par le caractère délimiteur. La valeur de StageVar1 est définie par l'expression suivante :
DCOUNT(inlink.Names, "/")
- Condition de fin de boucle
- Entrez l'expression suivante comme condition de boucle :
@ITERATION <= StageVar1
La boucle continue à itérer pour le nombre dans la colonne Noms.
- Variable de boucle
- Définissez une variable de boucle pour fournir la valeur du nouveau nom de colonne dans vos lignes de sortie. La valeur de LoopVar1 est définie par l'expression suivante :
FIELD(inlink.Names, "/", @ITERATION, 1)
Cette expression extrait les sous-chaînes délimitées par la barre oblique (/) de la colonne d'entrée.
- Contrainte de lien de sortie
- Définissez une contrainte de lien de sortie pour filtrer le nom Jim. Utilisez l'expression suivante pour définir la contrainte :
LoopVar1 <> "Jim"
- Métadonnées de lien de sortie et dérivations
- Définissez les colonnes de lien de sortie et leurs dérivations. Supprimez la colonne Col2 en ne l'incluant pas dans les métadonnées.
- Col1 - inlink.col1
- Nom-LoopVar1