Free Trial

Forum

Trouvez des réponses, posez des questions, et partagez votre expertise d’Alteryx.
TIPS de la semaine

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

Voir l'index

Tips de la semaine (58) – Chargement dynamique de plusieurs fichiers / sous répertoires

StephaneP
Alteryx Alumni (Retired)

Salut folle jeunesse,

 

Vous êtes nombreux à consolider des classeurs pour faire des reportings synthétiques ou juste préparer vos données avant analyse.

Parfois il y en a beaucoup, beaucoup, de plus en plus...

 
 
 
 

Souvent les fichiers ont le même format mais ont évidement des noms distincts et souvent aussi sont stockés dans des répertoires différents (1 par filiale, département, semaine…).

On peut évidement mettre un objet INPUT pour chaque fichier mais cela est long et la maintenabilité (si le format change) mauvaise car on doit repasser dans tous les objets INPUT pour modifier les paramètres. C'est aussi difficilement applicable si vous avez des centaines de fichiers à charger. Par ailleurs ceci n’est pas du tout dynamique car toute apparition de nouveau fichier nécessite une nouvelle intervention sur le Workflow. Et ça… clairement on n’aime pas. C’est mal !

 

StephaneP_0-1598452232285.png

Dans le workflow exemple, on cherche à charger tous les fichiers de type FinanceData_XXX.xls qui se trouvent dans le répertoire courant mais aussi dans 2 sous répertoires Andorre et Monaco (c'est l'été, c'est les vacances on peut se permettre). On a ici 5 fichiers à charger, mais dans la vrai vie cela pourrait être des dizaines voir des centaines.

 

Et bien c’est super simple en fait. Il y a 2 toutes petites options bien pensées pour vous aider dans l’objet INPUT.

StephaneP_1-1598452232291.png

 

A. L’utilisation de caractères génériques « * » (n’importe quel nombre de caractères) et « ? » un seul caractère dans le nom du fichier.

 

Ainsi dans cet exemple au lieu de placer en dur FinanceData_USA.xls on remplace USA par * : FinanceData_*.xls

Et le bloc INPUT recherchera donc dans le répertoire courant tous les fichiers qui respectent ce modèle.

Dans notre cas :

  • FinanceData_USA.xls
  • FinanceData_Europe.xls
  • FinanceData_APAC.xls

Qu’il y en ai 1 ou 300, il les rapatriera tous.

 

2 points d’attention :

  • Il faut donc bien normaliser vos noms de fichiers pour exploiter au mieux cette option
  • tous les fichiers doivent avoir la même structure. Sinon => Erreur. Il ne va pas être content. Et on a pas envie de  l’énerver…

 

B. Activation de l’option « Search SubDirs »

Cela déclenche la recherche du fichier dans tous les sous répertoires du répertoire courant. Là aussi qu’il y en ai 1 ou 300 cela fonctionne.

 

A retenir donc, gain en :

  • Temps de construction
  • Maintenabilité
  • dynamisme

Elle n’est pas belle la vie ?

 

Enjoy !

Stéphane Portier
Sales Engineer
Alteryx
2 RÉPONSES 2
StephV
Alteryx Alumni (Retired)

Merci @StephaneP pour ce nouveau Tip de la semaine !

 

Si vous cherchez d'autres "Tips de la semaine", rien de plus facile, on vous a fait un index pour vous y retrouver.

 

Bonne soirée à tous !

Steph Vitale-Havreng
StephaneP
Alteryx Alumni (Retired)

En complément, un article plus complet sur les 4 techniques pour charger dynamiquement des fichiers:
Les 4 méthodes pour charger dynamiquement des fichiers

De la plus simple à la plus robuste/ customisable.

Enjoy

Stéphane Portier
Sales Engineer
Alteryx
Étiquettes