Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Blog

Les analyses et les idées des plus grands esprits de l'analyse.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index
BenoitC
Alteryx
Alteryx

Nous 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 ?

 

BenoitC_17-1674835920566.gif

 

 

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 ?

  • Gain de temps : plus besoin de sélectionner tous les fichiers, il suffit de sélectionner un répertoire pour tous récupérés.
  • Plus de risques d’erreurs : il n’y a plus de risques à oublier un fichier, tous les fichiers sont sélectionnés automatiquement.
  • Sélection des nouveaux fichiers : Il n’y a pas besoin d’ajouter manuellement dans le workflow les nouveaux fichiers ajoutés à un répertoire, cela sera fait à chaque exécution d’Alteryx.

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.

 

BenoitC_1-1674835213767.png

 

La liste des fichiers apparaît sous ce format dans l’onglet résultat :

BenoitC_2-1674835213787.png

 

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 :

BenoitC_3-1674835213793.png

 

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 :

 

BenoitC_4-1674835213824.png

 

Ceci fait, démarrons le paramétrage de la macro en utilisant les outils situés dans l’onglet Interface de la palette Alteryx.

BenoitC_5-1674835213841.png

 

Dans notre macro, nous n’aurons besoin que des outils entourés en rouge :

  • Paramètre de contrôle : cet outil sert à alimenter la liste des éléments à traiter de notre macro batch, c’est le fameux paramètre dynamique de notre macro. L’ancre d’entrée d’une macro batch a le signe ¿.
  • Action : c’est le lien entre l’outil Entrée de données et l’outil Paramètre de contrôle. Action va déterminer où la liste d’éléments récupérés dans l’outil Paramètre de contrôle va s’insérer dans l’outil Entrée de données.
  • Sortie de macro : c’est l’ancre de sortie du futur outil Alteryx, comme évoqué dans l’épisode 1 de cette série d’articles de blog.

Rien ne vaut un dessin pour bien comprendre où sont chaque outil dans la macro batch :

BenoitC_6-1674835213850.png

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 : 

 

BenoitC_7-1674835213857.png

 

Paramètre de contrôle est simple à configurer, il faut ajouter la description de la liste attendue par la macro :

 

BenoitC_8-1674835213874.png

 

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é :

 

BenoitC_9-1674835213902.png

 

Résultat final :

 

BenoitC_10-1674835213904.png

 

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 :

 

BenoitC_11-1674835213922.png

 

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 :

 

BenoitC_12-1674835213928.png

 

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… ».

 

BenoitC_13-1674835213937.png

 

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 :

 

BenoitC_14-1674835213943.png

 

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 :

 

BenoitC_15-1674835213964.png

 

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 !

 

BenoitC_18-1674835961867.gif

 

 

Étiquettes