<< Back

Trouver le fichier le plus récent d’un répertoire avec Alteryx

Et si on se simplifiait la vie ?

Chaque semaine, vous devez exécuter un workflow Alteryx qui doit lire le tout dernier fichier produit par votre équipe IT.

Le problème est que, toutes les semaines, inlassablement, le nouveau fichier est ajouté dans le même répertoire.

Sauf que vous, vous avez seulement besoin de travailler sur le fichier le plus récent !
Vous n’avez que faire du fichier du 17 février 2004, alors que vous ne faisiez  même pas encore partie des effectifs de la boite.

Alors, plutôt que de vous embêter à changer le nom du fichier dans votre workflow Alteryx chaque semaine avant de l’exécuter, je vous propose dans cet article une solution simple pour trouver et lire le fichier le plus récent d’un répertoire.

Petit cas d’école :

Dans l’exemple que je vous ai préparé, mon répertoire de données ressemble à ça :

On y trouve 79 fichiers « Survey_Store_XXXXXX.csv » avec la même structure qui ne diffèrent que par la fin de leur nom (et leur contenu bien sûr).

Le workflow « solution » est assez simple, il va ressembler au final à ça :
(vous trouverez en bas de l’article le lien pour le télécharger)

Que fait le Workflow ?

 

  1. Le ‘Directory Input’ liste le nom des fichiers d’un répertoire de votre choix et vous donne accès à leur métadonnées. 
    En sortie de l’outil on a donc quelque chose comme ça :

    79 lignes, une pour chaque fichier trouvé

    Parmi ces métadonnées, on trouve notamment la date de création de chaque fichier. Cette information est capitale pour nous permettre d’identifier le plus récent.

  2. Je trie la liste des fichiers sur le champ ‘Creation Time’ dans l’ordre décroissant avec l’outil ‘Sort‘. Je m’assure ainsi que le fichier le plus récent se trouvera en première position.
  3. Avec l’outil ‘Sample‘ je ne conserve que la première ligne car seul ce fichier m’intéresse
  4. J’ai besoin maintenant de charger les données du fichier. Pour cela, j’utilise l’outil ‘Dynamic Input‘.
    Voilà comment je l’ai configuré :
  • Dans la partie « Edit… » j’ai simplement sélectionné un modèle de fichier. Ce modèle est nécessaire pour qu’Alteryx sache à quoi s’attendre. J’ai donc choisi au hasard un de mes 79 fichiers comme modèle, de toutes les façons ils ont tous la même structure.
  • Ensuite, j’indique à l’outil qu’il doit charger le fichier qui se trouve à l’endroit désigné par le champ « FullPath »
    Pour chaque valeur de FullPath, Alteryx remplace le chemin du fichier modèle (Action : Change Entire File Path), puis lit le fichier correspondant comme le ferait n’importe quel « Input Data »

Et voilà ! C’est aussi simple que ça 🙂

 

Pour aller plus loin :

 

Maintenant que vous avez suivi pas à pas le workflow ci-dessus, voici quelques idées pour customiser votre workflow :

  • Dans « Input Directory« , vous pouvez spécifier un modèle de nom de fichier. Par exemple « *.csv » ou encore « Survey_store_*.csv » pour réduire la liste des fichiers éligibles, dans le cas où le répertoire contiendrait d’autres fichiers non pertinents.
  • Dans « Sample« , vous pourriez avoir envie de conserver les 3 ou 10 fichiers les plus récents, où les plus anciens, à votre convenance.
  • Vous pourriez également transformer ce workflow en macro afin de réutiliser cette logique dans vos différents workflows. Si cela vous intéresse, faites le moi savoir, ça sera l’occasion d’écrire un nouveau post sur ce blog 🙂

N’hésitez pas à partager dans les commentaires vos remarques, vos astuces ou bien à me faire part de vos questions !

 

Vous pouvez télécharger le workflow d’exemple ICI 

Julien Beylat

Paris - Nantes

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.