Récupérer les jours fériés avec Power Query
Quelle est la date du lundi de Pâques pour l’année 2024 ? La dimension Date est un axe fondamental pour analyser des données. Et très souvent, nous avons besoin de connaître les dates des jours fériés.
pour gérer un planning
pour établir une prévision journalière
pour calculer des mesures et des indicateurs …
Sur le site api.gouv.fr, vous accédez à des jeux de données constamment à jour. L’API des Jours fériés liste les jours fériés tels que définis dans le code du travail, pour différentes zones constituant la France.
Les API (Application Programming Interface) permettent à deux applications de communiquer entre elles et de s’échanger des données.
Une des grandes forces de Power Query est la richesse de ses connecteurs : Fichiers, base de données et même depuis le web.
Dans cet article, je vous explique comment récupérer dynamiquement les jours fériés sans VBA et sans écrire une seule ligne de code.
En quatre étapes, vous allez pouvoir récupérer automatiquement les jours fériés avec Power Query et les exploiter dans vos reports Excel ou Power BI.
Utiliser le connecteur Obtenir des données à partir du web
Les API (Application Programming Interface) permettent à deux applications de communiquer entre elles et de s’échanger des données.
La connexion entre Power BI est une API nécessite d’utiliser un connecteur de source de données web.
Créer un nouveau fichier Excel
Dans le Menu Données > Obtenir des données, cliquez sur À partir d’autres sources > À partir du web
Récupérer les données sur le site api.gouv.fr
Le site api.gouv.fr référence les API de toutes les administrations qui rendent leurs données disponibles. Une grande partie des données publiques sont libres d’accès. C’est ce que l’on appelle l’Open data. Tout le monde peut y accéder.
L’API des Jours fériés liste les jours fériés tels que définis dans le code du travail, pour différentes zones constituant la France.
La connexion à une API se fait par l’intermédiaire d’une adresse URL qui contient la fonctionnalité demandée et les paramètres de la requête.
Les détails de construction de l’URL d’accès aux jours fériés est disponible à cette adresse : https://calendrier.api.gouv.fr/jours-feries/
Pour obtenir la liste des jours fériés pour une zone, 20 ans dans le passé et 5 ans dans le futur, Il suffit d’ajouter /{zone}.json à cette adresse
Par exemple :https://calendrier.api.gouv.fr/jours-feries/metropole.json liste les jours fériés entre 2003 et 2028 pour la métropole
pour obtenir la liste des jours fériés pour une zone, pour une année, il suffit d’ajouter /{zone/{année}}.json à cette adresse
Par exemple : https://calendrier.api.gouv.fr/jours-feries/metropole/2023.json liste les jours fériés en 2023 pour la métropole
Dans la fenêtre A partir du web, entrez l’URL ci-dessus et cliquez sur OK
Dans la fenêtre d’authentification, sélectionner Anonyme et cliquez sur Se connecter
Power Query récupère la réponse du service API sous la forme d’un fichier au format json.
Convertir en tableau la réponse au format json
JSON (JavaScript Objet Notation) est un langage léger d’échange de données textuelles structurées basées sur des paires nom/valeur et des listes ordonnées.
Pour l’exploiter avec Power Query, il faut le transformer en table.
Sélectionner le requête metropole
Cliquez sur le bouton Convertir En table
Power query transforme la liste json en une table avec une colonne Name contenant la date du jour férié et une autre colonne Value contenant le nom du jour férié.
Renommer les entêtes de colonnes et changer le type
Pour exploiter notre nouvelle table des jours fériés, il ne nous reste plus qu’à renommer les entêtes de colonnes et changer le type de données.
Sélectionner la colonne Name et renommer l’entête de colonne en Date
Changer le type de données de la colonne Date en Date
Sélectionner la colonne Value et renommer l’entête de colonne en Jour fériés
Changer le type de données de la colonne Jours fériés en Texte
La table des jours fériés est maintenant prête à être utilisé soit dans d’autres transformations, soit directement dans nos reports d’analyse sous Excel ou Power BI
Vous pouvez maintenant partager cette table des jours fériés avec tous les utilisateurs de votre organisation.
L’utilisation la plus courante d’une table des jours fériés est de la fusionner avec votre table Date pour ajouter une colonne calculée des jours ouvrés.
Dans cet article, Une table des dates dynamique avec Power Query, je vous explique comment créer une table de dates en partant de votre table de faits (vos ventes, vos livraisons, votre planning …)
Il est ensuite très facile d’ajouter d’autres colonnes qui affichent les attributs de la date dont les jours fériés.
Comment effectuer une recherche avec une correspondance approximative dans Power Query ?
Les cas d’usage en Supply Chain sont multiples : taille de lot, emplacement d’entrepôt, planification des tournées de livraison, tarification par palier, réassort et seuils de commande…
Le premier réflexe est de jouer avec les paramètres de la fonction Fusionner. Malheureusement, aucune des possibilités offertes ne permet de retourner le prochain élément plus grand si aucune correspondance exacte n’est trouvée.
Si la fonction n’existe pas alors il suffit de la créer !
L’occasion de découvrir les incroyables possibilités qu’offre la manipulation des tables et des listes dans des colonnes personnalisées.
En cinq étapes, je vous montre comment, à l’aide d’une seule formule, vous allez pouvoir récupérer pour chaque ligne la valeur approximative recherchée. Et surtout, d’obtenir le résultat quasi instantanément, même avec une table contenant plus de 100 000 lignes !