Dans ce Job, vous allez utiliser les composants tUnpivotRow et tMap pour convertir des colonnes en lignes.
Ce Job va contenir les composants suivants :
- un tFileInputDelimited pour lire des données à partir d'un fichier texte in.txt,
- un tUnpivotRow pour convertir les colonnes de la table person en lignes,
- un tMap pour générer une table de sortie,
- et un tLogRow pour afficher les données de sortie dans la console.
Procédure
-
Créez un Job nommé UnPivotColumnsToRows, composé d'un tFileInputDelimited, d'un tUnpivotRow et d'un tLogRow, reliés par des liens Main :
-
Double-cliquez sur le tFileInputDelimited pour ouvrir sa vue Component.
-
Renseignez le champ File name/Stream avec le chemin d'accès au fichier .txt créé, par exemple, "D:/file/in.txt".
-
Configurez le champ Header à 1.
-
Cliquez sur le bouton (...) pour modifier le schéma du composant.
-
Supprimez les colonnes pivot_key et pivot_value.
-
Ajoutez une colonne nommée Id, de type Integer et trois colones Name, Sex et Surgery, de type String.
-
Double-cliquez sur le tUnpivotRow pour ajouter une colonne d'entrée nommée Id, dans le champ Row keys.
-
Modifiez le schéma du tUnpivotRow et ajoutez une colonne de sortie nommée Id, de type Integer, comme ci-dessous.
Remarque : Les deux colonnes de sortie Pivot_key et Pivot_value sont prédéfinies et sont en lecture seule dans le composant tUnpivotRow.
-
Double-cliquez sur le composant tMap pour ouvrir son schéma et glissez les colonnes id, pivot_key et pivot_value de la table Row2 à la table out1.
-
Modifiez respectivement le nom de pivot_key et pivot_value de la table out1 en Question et Answer.
Remarque : Comme les deux colonnes (Pivot_key et Pivot_value) sont en lecture seule dans le composant tUnpivotRow, vous devez modifier le nom des colonnes dans le tMap, pour un mapping vers le schéma cible.