Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !
Voir l'indexNous avons vu au premier épisode comment créer un bloc Alteryx pour enrichir la palette (déjà bien riche) ! Dans cet épisode, nous allons voir comment ajouter un paramètre dynamique à notre bloc Alteryx afin de répéter l’exécution d’un workflow sur une liste d’éléments.
Pour commencer, qu’est ce qu’un paramètre dynamique dans Alteryx ?
Voici un exemple : vous avez besoin d’ouvrir plusieurs dizaines de fichiers Excel dans votre PC. Plutôt que de sélectionner un à un les fichiers dans le workflow, nous allons créer un outil pour faire cette tâche en une seule fois. Dans cet exemple, le paramètre dynamique est la liste des fichiers à traiter : l’outil va ouvrir tous les fichiers de la liste les uns après les autres.
Quels sont les bénéfices de faire cet outil ?
Nous avons vu au premier épisode qu’un outil Alteryx est en fait une Macro. Dans cet article, nous allons voir une catégorie spéciale de Macro : les Macros Batchs, celles-ci permettent d’appliquer un paramètre dynamique à votre traitement de données. La macro batch est l’équivalent d’une boucle FOR EACH en langage de programmation visual basic (pour ceux qui connaissent 😉).
1 - Création de la liste des fichiers à importer
Première étape, il faut constituer la liste des fichiers à importer. Pour cela, nous utiliserons l’outil Répertoire. Il est très simple à configurer : il suffit de choisir le dossier Windows avec la liste des fichiers à ouvrir.
La liste des fichiers apparaît sous ce format dans l’onglet résultat :
Par défaut, Alteryx permet d’ouvrir plusieurs fichiers en utilisant l’outil Entrée Dynamique en complément de l’outil Répertoire, comme ceci :
Cependant, bien souvent des colonnes ayant la même en-tête dans plusieurs fichiers n’auront pas le même type de données, ce qui amène à l’erreur suivante :
Entrée dynamique (2) : Le fichier "xxx" a un autre schéma que le 1er champ du jeu.
La seule issue est de construire une macro batch pour traiter cette erreur. Allons-y !
2 - Création de la macro batch
Nous avons vu au premier épisode ce qu’était une macro : il s’agit d’un workflow, mis à disposition dans d’autres workflows Alteryx sous le format d’une icône d’outil Alteryx personnalisée.
La spécificité d’une macro batch est qu’elle donne la possibilité de traiter une liste d’éléments dans Alteryx de manière séquencée. Dans notre exemple, nous cherchons à ouvrir 1 par 1 la liste des fichiers de notre répertoire Windows.
Première étape, il faut créer un nouveau workflow et aller chercher le premier fichier de la liste avec l’outil Entrée de données :
Ceci fait, démarrons le paramétrage de la macro en utilisant les outils situés dans l’onglet Interface de la palette Alteryx.
Dans notre macro, nous n’aurons besoin que des outils entourés en rouge :
Rien ne vaut un dessin pour bien comprendre où sont chaque outil dans la macro batch :
3 - Configuration du workflow
Il reste à construire le workflow. En connectant l’outil Paramètre de contrôle avec l’outil Entrée de données, l’outil Action est automatiquement ajouté au workflow :
Paramètre de contrôle est simple à configurer, il faut ajouter la description de la liste attendue par la macro :
L’outil Action doit lui indiquer ce que l’on va modifier dans l’outil Entrée de données. Ici, nous souhaitons garder le chemin du répertoire mais supprimer le nom de l’onglet, car il est identique dans tous les classeurs Excel. Comme indiqué par l’option « Remplacer une chaîne spécifique », seul le texte écrit dans la boîte de dialogue sera remplacé :
Résultat final :
A noter, il faut bien mettre en surbrillance la ligne File – value puis modifier le contenu de la boîte Remplacer une chaîne spécifique pour que la configuration soit la bonne.
La ligne File – Value va alors modifier la source interrogée dans l’outil Entrée de données !
Notre macro batch est quasi terminée : il ne reste qu’à ajouter l’outil Sortie de Macro :
La configuration est simple, il est possible de laisser tout en standard. Vous pouvez également donner une abréviation d’ancrage, celle-ci apparaîtra alors sur la sortie de l’outil nouvellement créé.
Dernière étape ! Dans notre exemple spécifiquement, nous cherchons à ouvrir plusieurs fichiers dont les colonnes ont le même nom mais pas le même type. Ainsi, il faut venir dans le menu concepteur d’interface pour indiquer à la macro d’unir toutes les colonnes du même nom, même si elles ne sont pas du même type.
Première étape, il faut ouvrir le menu Concepteur d’interface situé sous le menu Afficher d’Alteryx :
Deuxième étape, il faut cliquer sur l’icône Propriétés qui a la forme d’un engrenage à gauche du menu Concepteur d’interface. Ici, il est possible de modifier l’icône standard, mais surtout il faut choisir l’option Configuration auto par nom (attendre que toutes les itérations soient exécutées) car c’est elle qui permettra de régler l’erreur « le fichier a un autre schéma… ».
Il est également possible de donner un nom à cette macro en accédant à la configuration du workflow en cliquant sur le canevas, comme vu au premier épisode :
C’est terminé ! Ce nouvel outil, une fois sauvegardé, est désormais disponible dans votre onglet « Macro » de la palette Alteryx. Pour information, vous pouvez localiser sur votre Designer où se trouve ce répertoire dans le menu Options > Paramètre Utilisateur > Macros.
La configuration du workflow définitif ressemble à celui-ci :
La liste de champs Fullpath est inséré dynamiquement dans la macro, permettant ainsi l’ouverture de la liste des fichiers du dossier Windows. Il ne reste plus qu’à aller siroter une limonade pendant qu’Alteryx travaille pour vous !
Pour ajouter un commentaire ici, vous devez être inscrit. Si vous êtes déjà inscrit, connectez-vous. Dans le cas contraire, inscrivez-vous puis connectez-vous.