Dans ce parcours de formation connectée, nous allons prendre un extrait de données d'un système et effectuer un certain nombre de transformations pour préparer le fichier de données à être chargé dans un autre système.
| Objectif d'apprentissage principal | Voici quelques-unes des commandes simples mais puissantes du Tabular Transformation Connector qui peuvent être utilisées pour répondre à des besoins de transformation courants |
| Conditions préalables | Configurer HTTP, File Utilities, et Tabular Transformation Connector Connections |
| Modèle de chaîne de soutien | CLP | Transformations tabulaires |
Étape 1 : Créer une chaîne
- Ajouter une nouvelle chaîne
- Nommez la chaîne : CLP | Transformations tabulaires
- Créer une variable de chaîne
- Nom : cv-TT-SampleData
- Valeur : https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/sample.txt
- Sauver la chaîne
Étape 2 : Récupérer les données d'un système source
Utilisez le connecteur HTTP pour illustrer comment récupérer des données à partir d'une source de données pour laquelle il n'existe pas de connecteur Workiva.
- Ajouter une commande GET du connecteur HTTP au nœud de départ.
- Configurez la commande comme suit :
Étape 3 : Mise à jour des en-têtes dans le fichier de données
Mettre à jour les en-têtes du fichier pour qu'ils correspondent aux noms des champs du système dans lequel le fichier de données sera chargé une fois les transformations terminées. La commande Map Headers nous permet de mettre à jour le nom du champ en fonction de l'index, ce qui rend la commande plus flexible en cas de modification du nom d'un champ à l'avenir.
- Ajouter une commande En-tête de cartes à partir du connecteur de transformation tabulaire à la chaîne
- Connecter le nœud de départ (HTTP - Get Source System Data) à la commande Map Headers
- Modifier la commande :
- Nommez la commande : Cartographier les en-têtes
- Cliquez sur le paramètre Input file. Le volet de sélection des variables s'ouvre à gauche. Dans la section Command, développez la commande Get - Source System Data et sélectionnez la réponse Response Output.
- Ne modifiez pas le paramètre Fichier de sortie.
- Cochez la case pour Prévisualiser les résultats
- Laissez le délimiteur comme Comma puisque le fichier de données du système source est délimité par des virgules.
- Dans le paramètre Input Headers, entrez des valeurs numériques de zéro (0) à sept (7), car le fichier comporte huit champs et les listes sont basées sur des zéros. Veillez à appuyer sur la touche Entrée après avoir saisi chaque chiffre !
- Cochez la case Utiliser les index. Cela indique à la commande que les en-têtes d'entrée sont basés sur la position dans le fichier plutôt que sur le nom réel de la colonne.
- Dans les en-têtes de sortie, indiquez le nom des nouveaux champs à créer. L'ordre est important car la première entrée de la liste remplacera le nom de l'en-tête de la première rubrique du fichier du système source et ainsi de suite pour chacune des entrées restantes. Tapez les en-têtes suivants et appuyez sur la touche Entrée après chacun d'eux :
- Produit
- Marché
- Mois
- Scénario
- Ventes
- COGS
- Dépenses
- Revenu d'exploitation
- Enregistrer la commande
Étape 4 : Déplacer des colonnes de données vers des lignes
Ensuite, mettez à jour le fichier de données pour transposer les multiples colonnes de données en lignes afin de créer une seule colonne de données. Cette opération est appelée "unpivot". L'opération de dépivot aligne les données dans le format attendu, une seule colonne contenant toutes les données, du système en aval.
- Ajouter une commande Redresser du connecteur de transformation tabulaire à la chaîne
- Connecter la commande Map Headers à la commande Unpivot
- Modifier la commande
- Nommez la commande : Unpivot - Déplacer les mesures vers les lignes
- Sélectionnez le paramètre Map Headers Output pour le paramètre Input file
- La sortie des en-têtes de carte est toujours délimitée par des virgules, nous laissons donc le délimiteur comme Comma.
- Dans le paramètre Aggregation, sélectionnez Sum. Si vous choisissez Somme, toutes les lignes créées par la division qui sont identiques dans toutes les colonnes seront regroupées en un seul point de données.
- Dans le paramètre New Column Label, entrez Measures. Il s'agit de l'en-tête de la nouvelle colonne qui sera créée et alimentée par les valeurs d'en-tête des colonnes dépivotées.
- Dans le paramètre Étiquette de colonne de données, saisissez Montant
- Les champs Data Headers, Starting Pivot Column Name, Ending Pivot Column Name, Starting Pivot Column Index, et Ending Pivot Column Index sont utilisés pour effectuer l'opération de pivot. Il n'est pas nécessaire de spécifier tous ces paramètres.
- Si vous utilisez le paramètre Data Headers, les autres paramètres doivent être laissés en blanc. Le paramètre Data Headers permet de spécifier le nom des colonnes. Ce paramètre est utile pour les champs qui ne sont pas simultanés.
- Les paramètres Starting/Ending Column Name permettent de spécifier le nom de la première et de la dernière colonne (pour une plage concurrente). Si vous utilisez ces paramètres, le paramètre Data Headers ainsi que le paramètre Starting/Ending Column Index doivent être laissés vides. Si le champ Ending Column Name n'est pas renseigné, la séparation sera effectuée pour tous les champs après (et y compris) le champ Starting Column Name.
- Les paramètres Starting/Ending Column Index permettent de spécifier la position de la première et de la dernière colonne (pour une plage simultanée). Si vous utilisez ces paramètres, le paramètre Data Headers ainsi que le paramètre Starting/Ending Column Name doivent être laissés vides. Si le champ Ending Column Index n'est pas renseigné, la dissociation sera effectuée pour tous les champs après (et y compris) le champ Starting Column Index. Nous utilisons ces paramètres dans cet exercice.
- Dans le champ Starting Pivot Column Index, entrez 4. Cela indique à la commande de pivoter à partir de la cinquième colonne puisque l'index est basé sur zéro.
- Laisser l'index Ending Pivot Column vide.
- Cochez l'option Prévisualiser les résultats
- Enregistrer la commande
Étape 5 : Mise à jour du scénario
Ensuite, modifiez le nom du scénario. Cet exemple illustre une transformation simple et ponctuelle qui se prête bien à Integration Studio. Les transformations de renommage plus importantes ou plus complexes sont considérablement rationalisées par Data Prep.
- Ajouter une commande Rechercher et remplacer du connecteur de transformation tabulaire à la chaîne
- Connecter la commande Unpivot à la commande Find and Replace
- Modifier la commande :
- Nommez la commande : Rechercher et remplacer - Budget par Plan
- Dans le paramètre Input file, sélectionnez Pivoted Result Output from Unpivot Command.
- Ne modifiez pas le paramètre Fichier de sortie.
- Cochez la case pour Prévisualiser les résultats
- Le fichier non divisé est toujours délimité par des virgules ; il convient donc de spécifier le délimiteur comme Virgule
- Nous allons trouver le texte Budget et le remplacer par le texte Plan. Dans le paramètre Modèle de recherche, saisissez Budget.
- Dans le paramètre Match Pattern Value, sélectionnez Exact
- Exact signifie que nous recherchons l'intégralité du texte spécifié dans les paramètres du modèle de recherche. Pour rechercher des sous-chaînes ou des caractères génériques, nous devons utiliser le type de motif Expression régulière (regex).
- Dans le paramètre Valeur de remplacement, entrez Plan. Toute occurrence du texte Budget sera remplacée par le texte Plan.
- Le paramètre Replace matches only ne s'applique pas aux correspondances exactes et peut être décoché car il s'agit de la valeur par défaut.
- Ne pas cocher l'option Insensible à la casse. Cela rend l'opération de recherche et de remplacement sensible à la casse, de sorte que Budget sera remplacé par Plan, mais pas budget .
- La colonne Scénario dans laquelle se trouve le modèle de recherche (Budget) est située dans la quatrième colonne. Dans le paramètre Columns, entrez un nombre de trois (3) puisque le paramètre est basé sur des zéros.
- Enregistrer la commande
Étape 6 : Conserver uniquement les données du plan de New York
Ensuite, conservez uniquement le plan de New York à l'aide de la commande Smart Filter. Ce filtre intelligent nous permet de spécifier des conditions basées sur les données qui seront utilisées pour conserver ou supprimer certaines lignes de l'ensemble de données.
- Ajouter une commande Filtrage intelligent des lignes depuis le connecteur de transformation tabulaire à la chaîne
- Connectez la commande Smart Filter Rows à la commande Find and Replace
- Modifier la commande :
- Nommez la commande : Filtrer intelligemment les lignes - Plan de New York uniquement
- Dans le paramètre Fichier d'entrée, sélectionnez le fichier Find & Replace Output à partir de la commande Find and Replace.
- Ne modifiez pas le paramètre Fichier de sortie.
- Spécifier Virgule comme délimiteur
- Dans la section Filtres, il est possible d'utiliser les filtres Texte, Nombre, et Date. Plusieurs conditions de filtrage peuvent être spécifiées. Si vous appliquez des filtres à différents types (texte, nombre, date), l'opérateur en haut à gauche doit être spécifié en conséquence. Si l'on applique plusieurs conditions à un type donné (par exemple, texte), il faut spécifier l'opérateur de ce type de filtre.
- Dans cet exercice, nous appliquerons des filtres basés sur le texte afin que l'opérateur global puisse être soit et, soit ou.
- Si nécessaire, réglez l'opérateur général sur ET
- Cliquez sur le bouton Ajouter dans les filtres de Text
- Dans le paramètre Nom de la colonne, entrez Scénario
- Ne pas cocher la case Insensible à la casse
- Dans la liste déroulante Condition, sélectionnez Égal à
- Dans le paramètre Comparez le texte, entrez Réel
- Ne pas cocher les cases Not et Trim.
- Ce filtre sera utilisé pour supprimer tous les enregistrements dont le champ Scénario contient la valeur Actual.
- Cliquez à nouveau sur le bouton Ajouter dans la section Filtres de texte
- Définissez l'opérateur des filtres de texte sur OR
- Sélectionnez la combinaison OR pour filtrer à la fois Actual et New York.
- Dans la deuxième condition, spécifiez Marché comme nom de colonne
- Définir la condition à est égal à
- Spécifiez le texte de comparaison comme New York
- Enfin, vérifiez l'option Not
- Définissez l'opérateur des filtres de texte sur OR
- Cocher l'option Prévisualiser le résultat
- Si nécessaire, réglez l'opérateur général sur ET
- Dans cet exercice, nous appliquerons des filtres basés sur le texte afin que l'opérateur global puisse être soit et, soit ou.
- L'option Inverse permet au filtre intelligent de conserver (coché) ou de supprimer (non coché) toutes les lignes qui correspondent aux critères du filtre. Dans cet exercice, nous voulons supprimer toutes les lignes où le Scénario est égal à Réel ou le Marché n'est pas égal à New York. Pour ce faire, nous décochons l'option Inverse.
- Enregistrer la commande
Étape 7 : Ajouter une colonne Année
Enfin, ajoutez une colonne supplémentaire à l'ensemble de données pour indiquer l'année des données.
- Ajouter une commande d'insertion de colonne du connecteur de transformation tabulaire à la chaîne
- Connecter la commande Insérer une colonne à la commande Filtrer intelligemment les lignes
- Modifiez la commande et configurez-la comme suit :
| Nom | Insérer une colonne - Année du régime |
| Fichier d'entrée | Sortie de la rangée de filtres intelligents |
| Fichier de sortie | <leave blank> |
| Résultats de l'avant-première | Vérifié |
| Délimiteur | Virgule |
| Texte de l'en-tête | Année |
| Valeur des données | 2022 |
| Insérer l'index | 3 |
- Enregistrer la commande
Étape 8 : Tester l'exercice
Maintenant que la chaîne est terminée, testez le résultat.
- Publier la chaîne
- Cliquez sur Exécuter et sélectionnez ensuite Exécuter la chaîne
- Une fois la chaîne terminée, cliquez sur le nœud Insérer une colonne - Année du régime.
- Dans l'onglet Sorties, confirmez que 385 enregistrements sont sortis.
- Cliquez sur l'onglet Logs et confirmez les données selon l'image ci-dessous
Onglet de sortie
Onglet Logs
Pour en savoir plus sur la transformation des données à l'aide des chaînes, consultez le site Connected Learning Paths - Transformation Introduction!