Arrière-plan
Lorsque nous orchestrons des processus de reporting à l'aide de Data Management Suite, nous sommes souvent confrontés à des scénarios de flux de travail complexes. Par exemple, une application peut avoir besoin de s'exécuter :
- Un même flux de travail plusieurs fois avec des entrées variées
- Plusieurs flux de travail distincts
- Plusieurs flux de travail simultanés, chacun avec des entrées spécifiques
- Flux de travail d'intégration du système source nécessitant des paramètres spécifiques, tels que des dates, des noms de fichiers ou des noms de règles
Pour automatiser et gérer efficacement ces exigences complexes en matière de flux de travail, le concept d'une feuille de contrôle s'avère inestimable. Une feuille de contrôle est un outil de gestion centralisé qui permet de prédéfinir les entrées pour l'exécution de chaque flux de travail. En exploitant les feuilles de contrôle, les utilisateurs peuvent spécifier les paramètres et les conditions dans lesquels chaque flux de travail doit fonctionner, facilitant ainsi un processus automatisé transparent qui exécute tous les flux de travail nécessaires avec les entrées appropriées sans qu'une intervention manuelle ne soit nécessaire à chaque étape.
En créant et en exploitant une feuille de contrôle, les utilisateurs peuvent :
- Définir les valeurs d'entrée qui seront transmises à une chaîne à chaque exécution
- Définir des drapeaux qui détermineront si une chaîne doit effectuer certaines opérations
- Transmettre des valeurs, telles que des paramètres de requête, des noms de règles ou des filtres de date, dans le flux de travail du système lors de l'exécution d'une chaîne ou d'une règle.
- Effectuer des opérations de retour en arrière
- Gérer les ID's pour les artefacts dans Workiva
- Enregistrer l'état d'exécution d'un flux de travail
Cet article guidera les utilisateurs dans le processus de création d'une simple feuille de contrôle. Cette feuille permettra aux utilisateurs d'exécuter le même flux de travail avec différentes séries d'entrées.
Conditions préalables
- Configurer le connecteur Workiva
- Configurer le connecteur JSON de
- Configurer le connecteur du guidon
Étape 1 : Établissement d'une feuille de contrôle
- Créer une feuille de calcul dans la plateforme Workiva
- Attribuer des droits de propriété à l'utilisateur associé à la subvention OAuth2.
- Renommez la feuille de calcul et la feuille en
- Feuille de calcul de contrôle
- Feuille de contrôle
Étape 2 : Définition des en-têtes (clés) de la feuille de contrôle
Établir des en-têtes pour chaque valeur qui sera traitée par le flux de travail en chaîne. Dans cet exemple, les en-têtes suivants sont mis en place :
- Active_Flag : Détermine si cette ligne doit être traitée ou non.
- Nom_du_fichier : Nom du fichier à traiter
- Table_ID : ID de la table Wdata où le fichier doit être importé
Étape 3 : Attribuer des valeurs aux en-têtes de la feuille de contrôle
- Dans cet exemple, trois valeurs ont été définies pour chaque paire clé/valeur. Par conséquent, lorsque chaque ligne est lue, les données suivantes sont introduites :
true, file_x.csv, df2a1988929e4358858306956685e162
true, file_y.csv, df2a1988929e4358858306956685e162
true, file_z.csv, df2a1988929e4358858306956685e162
Étape 4 : Créer une chaîne pour récupérer les données de la feuille de contrôle
Afin d'extraire les données de la feuille de contrôle du tableur, une chaîne doit être créée pour lire le tableur.
- Accédez au module Chaînes et créez une nouvelle chaîne.
- Naviguez jusqu'aux paramètres de la chaîne et intitulez votre nouvelle chaîne Get Control Sheet Data
- Ajouter deux variables Chain :
- cv-SpreadsheetID
- cv-SheetName
- Remplissez chaque variable avec les valeurs correspondantes SpreadsheetID et SheetName de votre feuille de contrôle.
Étape 5 : Obtenir les données de la feuille
Pour utiliser les données dans votre feuille de contrôle, vous devez utiliser la commande Get Sheet Data. La commande lit le contenu d'une feuille dans un tableur et produit une sortie .csv.
- Faites glisser et déposez la commande Workiva Get Sheet Data dans la section START du canevas.
- Configurer la commande
- Renommez-le Get Control Sheet Data
- Utilisez la variable de chaîne cv-SpreadsheetID pour le champ ID de la feuille de calcul.
- Utilisez la variable de chaîne cv-SheetName pour le champ ID/Nom de la feuille.
- Saisir A1 : pour la région
- Laisser les valeurs Style et Révision comme Calculé et -1
- Cliquez sur Enregistrer
Étape 6 : Conversion des données de la feuille en JSON
Après avoir récupéré avec succès les données de la feuille de contrôle au format .csv, l'étape suivante consiste à les convertir en JSON. Cette conversion garantit que les en-têtes et les valeurs des colonnes sont correctement reformatés dans la structure JSON Key-Value. Ce format est essentiel pour les étapes suivantes.
- Faites glisser la commande CSV to JSON sur le canevas.
- Lier la commande Get Control Sheet Data à la commande CSV to JSON
- Modifier la commande CSV to JSON
- Dans le champ Input File, utilisez la sortie Data du menu déroulant Get Control Sheet Data.
- Laisser le champ Délimiteur à la virgule (,)
- Cliquez sur Enregistrer
Étape 7 : Interroger les données JSON
Maintenant que les données de la feuille de contrôle sont au format JSON, un groupe de commandes peut être utilisé pour itérer à travers chaque ligne de données de votre feuille de contrôle.
- Ajouter le groupe de commande au canevas
- Connecter la commande CSV to JSON à la partie In du groupe de commandes
- Modifier le groupe de commandes et le nommer JSON Iterator
- Cliquez sur le symbole d'itération à droite de l'onglet Informations de base.
- Activer l'itérateur
- Laissez la liste Select Modifier Type comme .
- Pour la section Iterations, sélectionnez la sortie <> JSON File dans le menu déroulant de la commande CSV to JSON.
- Cliquez sur Enregistrer
Étape 8 : Prévisualisation de chaque itération de données
La chaîne étant désormais capable d'itérer sur chaque ligne de votre feuille de contrôle, une commande Handlebars peut être utilisée pour prévisualiser la sortie de l'information.
Note: La commande Handlebars sert de support à l'examen des valeurs dans cet article, mais d'autres commandes peuvent également être utilisées pour traiter les valeurs.
- Faites glisser et déposez une commande Render Text Template sur le canevas.
- Lier la commande Group Start du groupe de commandes à la commande Render Text Template
- Modifiez la commande et nommez-la Preview Control Sheet Data
- Dans le champ Modèle, entrez ce qui suit :
Nom du fichier ID de la table des drapeaux actifs
- Afin de dériver les valeurs de la feuille de contrôle, une transformation de variable doit être appliquée pour chaque itération JSON
- À côté de File Name, choisissez JSON File Iteration dans la barre latérale, située sous la liste déroulante Group Iterator.
-
- Cliquez sur l'itération du fichier JSON, sélectionnez Obtenir une valeur de JSON.
- Dans le champ Valeur, saisissez l'en-tête Nom_de_fichier de votre feuille de contrôle.
- Note : Une bonne pratique consiste à copier l'en-tête de votre feuille de contrôle directement dans le champ de valeur.
- Appuyer sur Entrée et Accepter
-
- Répétez les étapes ci-dessus pour les en-têtes Active_Flag & Table_ID de la feuille de contrôle.
- Une fois terminé, le champ du modèle doit se présenter comme suit :
- Enregistrer la commande
Étape 9 : Exécuter la chaîne et la prévisualiser
Maintenant que la chaîne et la feuille de contrôle sont configurées, il est important de s'assurer que chaque itération de la sortie du guidon contient des données pour chaque ligne de la feuille de contrôle.
- Cliquez sur Publish et ensuite sur Execute la chaîne.
- Exécuter la chaîne
- Après l'exécution réussie de la chaîne, cliquez sur la commande Preview Control Sheet Data et naviguez jusqu'à l'onglet Log.
- Sous "Commencer le texte rendu", une sortie pour la première itération devrait être visible.
- Passez à la valeur 2 dans l'option au-dessus de l'onglet Log pour voir les résultats de la deuxième itération.
- Enfin, passez à la valeur 3 pour voir les résultats de la troisième itération
- Chaque itération doit se présenter comme suit :
Valeur 1 :
Valeur 2 :
Valeur 3 :
Tirer parti du drapeau actif
L'étape suivante consiste à intégrer une logique conditionnelle qui utilise la valeur de l'indicateur actif , en utilisant la même chaîne que celle qui a été construite.
- Modifier la chaîne et supprimer le lien entre JSON Iterator et Preview Control Sheet Data
- Ajoutez une commande conditionnelle et reliez le groupe de départ du groupe de commande à la nouvelle commande.
- Lier la commande Conditional à la commande Preview Control Sheet Data
- Modifier la commande conditionnelle
- Nommez la commande Active Flag ?
- Cliquez sur le bouton Rule
- Dans le champ de valeur, cliquez sur <> JSON File Iteration dans le menu déroulant de Group Iterator.
- Ajouter une transformation de variable et utiliser l'en-tête Active_Flag de la feuille de contrôle comme valeur.
- Cliquez sur Accepter
- Remplacer la condition "Is Blank" par "=".
- Saisir le mot "true" dans le champ d'expression
- Cliquez sur Enregistrer
Désormais, à chaque exécution de la chaîne, la commande Preview Control Sheet Data ne s'exécutera que si la valeur Active_Flag de cette itération est égale à true.
- Étant donné que pour deux des itérations, Active_Flag était réglé sur "FALSE", la commande Preview Control Sheet Data n'a été exécutée que pour la troisième itération.
- Les commandes qui suivent la commande conditionnelle "Active Flag ?" seront ignorées si leur itération dans la feuille de contrôle a une valeur de " FALSE "
Autres cas d'utilisation
La feuille de contrôle offre un moyen très efficace de centraliser, de gérer et d'automatiser les valeurs utilisées dans l'exécution du flux de travail. Il peut être appliqué dans différents scénarios, notamment :
- Un centre de gestion des identifiants d'un système source, de Workiva et des éléments de Wdata.
- Utilisation d'un indicateur pour filtrer et prendre des mesures afin de déterminer si un processus spécifique doit être exécuté
- Spécification des points de terminaison URL pour l'exécution des rapports à partir d'un système source
- Définir des dates et des conventions de dénomination pour des fichiers spécifiques
- Identifier les répertoires de fichiers pour qu'un SFTP récupère les fichiers désignés