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
mathieuf
Alteryx
Alteryx

Contexte et objectifs :

 

Je dispose de 2 données de dates et je souhaite connaitre le nombre de jours ouvrés entre ces 2 dates.

 

mathieuf_0-1638546418289.png

 

Je vais donc compter le nombre de jours entre ces 2 dates en supprimant les week-ends, les jours fériés et les jours de fermeture personnalisable s'il y en a.

Pour obtenir le résultat suivant :

 

mathieuf_1-1638546592374.png

 

Et pour que le tout soit réutilisable (et oui on soigne son impact carbonne !), je vais en faire une macro que tous mes utilisateurs pourront consommer 😎

 

Etape 1 : Suppression des week-end

 

Pour commencer, je rajoute un identifiant à chacune de mes lignes pour les tracer plus facilement.

 

mathieuf_0-1638547431208.png

Ensuite, je crée toutes les dates intermédiaires (autant de lignes que de dates) à l'aide de l'outil Générer les lignes.

Je crée un nouveau champ qui contiendra la date de chaque jour entre les 2 bornes.

 

mathieuf_1-1638547571125.png

 

Extrait du résultat :

 

mathieuf_2-1638547599953.png

 

Je crée ensuite une formule pour connaitre le jours de la semaine

 

mathieuf_3-1638547687683.png

 

Extrait du résultat :

 

mathieuf_4-1638547717292.png

 

Il ne me reste plus qu'a filtrer les week-end :

 

mathieuf_5-1638547756583.png

 

Etape 2 : Suppression des jours de fermeture personnalisés

 

Pour la suppression des jours de fermetures, nous allons proposer aux utilisateurs d'entrer une liste de jours que nous allons Joindre à notre flux précédent.

 

L'entrée L est notre sortie de flux avec suppression des WEs et l'entrée R la liste des jours de fermeture.

En utilisant la sortie L, nous excluons les jours de fermeture CQFD 😉

mathieuf_0-1638548465185.png

 

Etape 3 : Suppression des jours fériée

 

Pour supprimer les jours fériés, nous allons procéder différemment.

Ne souhaitant pas réinventer la roue, je vais utiliser des données provenant de l'Open Data mises à disposition par api.gouv.fr (ça me semble assez fiable 😜).

 

Je dispose grâce à cette API des données sur les jours fériés sur les 20 dernières années et les 5 prochaines.

il est également possible de filtrer sur certaines zones :

 

mathieuf_0-1638549415671.png

Ou sur une année précise :

 

mathieuf_1-1638549442007.png

 

 

Fiable et sans maintenance, que demander de plus !

 

Un jeu d'enfant pour Designer

 

Je vais utiliser 3 outils dans Designer : Saisie de texte, Télécharger et Interpréter JSON

 

mathieuf_2-1638549528192.png

L'outil de saisie de texte contient le lien vers les données.

L'outil Télécharger utilise le lien pour obtenir les données. J'utilise l'action GET :

 

get.JPG

 

Enfin l'Interpréteur de JSON, structure les données pour faciliter le travail. Voici ce que nous obtenons en sortie :

 

mathieuf_3-1638549776770.png

 

Pas mal sans donnée et presque sans configuration !

 

Je ne conserve ensuite que les dates présentent dans la colonne JSON_Name à l'aide d'une selection et je les convertis en DateHeure.

 

La touche finale est une jointure avec notre flux de l'étape 2 et l'étape 3 :

 

mathieuf_4-1638549939100.png

En utilisant la sortie L, nous excluons les jours fériés CQFD 😉.

 

Etape 4 : On compte et le tour est joué

 

Il ne nous reste plus qu'à compter le nombre de jours (nombre de lignes) par identifiant, et oui il pourrait y avoir plusieurs lignes dans le jeu de données initial !

 

Une aggrégation et une jointure avec le flux de données avant les calculs et voilà le travail.

 

mathieuf_1-1638550372977.png

 

 

mathieuf_0-1638550275792.png

 

Etape 5 : La touche finale

 

On choisi une jolie icône pour la macro :

 

mathieuf_2-1638550491248.png

 

On documente son outil :

 

mathieuf_3-1638550543323.png

 

On explicite les paramètres attendus :

 

mathieuf_4-1638550602505.png

 

Et on peut même personaliser ses ancres :

 

mathieuf_5-1638550661301.png

 

Commentaires
Étiquettes