Power Query : Importer les données météo du site climate.weather.gc.ca

Publié le 20 octobre 2016
par Sophie Marchand M.Sc.
Power Query Météo

Récemment, dans le cadre d’un mandat d’élaboration de rapport Power BI, j’ai dû trouver une façon d’aller récupérer les données météorologiques passées de plusieurs villes canadiennes. Pour ce faire, j’ai utilisé l’éditeur de requêtes de Power BI Desktop, soit la partie équivalente à Power Query dans Excel. L’article suivant explique comment j’ai réussi à aller récupérer les informations passées de météo à partir du site http://climate.weather.gc.ca/. À noter que la procédure est la même, que vous utilisez Power Query ou Power BI Desktop. Voici donc un article qui explique comment importer des données météo avec Power Query.

Les données présentées sur le site web de données météo ont changé de format après la publication de cet article. Après le mois d’avril 2020, les rapports sont publiés aux semaines, puis mensuellement. L’analyse présentée dans cet exercice est basée sur des données quotidiennes, la requête va donc fonctionner jusqu’à un certain point.

 

Site web avec données météo : http://climate.weather.gc.ca/

D’abord, mes recherches de données météo passées sur le web (pour des villes canadiennes) m’ont toutes menée au site web http://climate.weather.gc.ca/. Je n’ai donc pas eu d’autre choix que de m’arrêter sur ce site et de l’étudier pour savoir comment en tirer les informations de météo passées des villes canadiennes de mon analyse. Ce site possède une section intitulée “Historical Data”. Dans cette section, il est possible de faire des recherches par ville et par années.

Power Query Météo

 

J’ai d’abord fait une recherche pour la ville d’Edmonton, de 2014 à 2016 et j’ai obtenu les résultats ci-dessous. À travers les divers menus déroulants, j’ai pu comprendre que la station météo qui couvrait le mieux mon besoin était la station Edmonton International CS. Je pouvais obtenir les données météo par heure, par jour ou par mois. Comme le but de mon analyse était d’étudier la corrélation entre les ventes et la météo, j’ai retenu l’option quotidienne.

Power Query Météo

 

 

Ce faisant, j’ai obtenu le tableau suivant, pour le mois de janvier 2014. Après plusieurs essais, j’ai bien compris que c’était le mieux que je pouvais obtenir. Impossible d’obtenir une table complète de l’historique d’une seule station.

Power Query Météo

 

J’ai donc étudié l’url de la table de résultats (voir image ci-dessous). Power Query Météo

J’ai fait plusieurs tests et j’ai remarqué que je pouvais remplacer les dates par les dates de début et de fin de mon échantillon, dans ce cas du 01-01-2014 au 31-01-2014 et que je pouvais supprimer la portion faisant référence à la journée.Power Query météo

Forte de cette trouvaille, il ne me restait plus qu’à construire une requête me permettant d’aller chercher toutes les données météos pour les mois de janvier 2014 à aujourd’hui, par ville, et à les exploser par jour.

 

Vous devez analyser de grandes quantités de données et les présenter dans des rapports et tableaux de bord, avec des indicateurs de performance pertinents ? Développez vos compétences avec nos formations en Power BI.

Formations Power BI disponibles en anglais

 

Création des tables pour compiler les données météo

Dans un premier temps, j’ai récupéré une table comprenant tous les détails des stations météos publiées sur le site web. Vous pouvez télécharger cette table à partir du lien FTP suivant:  https://collaboration.cmc.ec.gc.ca/cmc/climate/Get_More_Data_Plus_de_donnees/.

 

La table s’intitule “Répertoire des stations FR”.

importer des données météo

Voici un extrait de cette table.

importer des données météo

 

Je l’ai étudiée et j’ai identifié les stations météorologiques qui semblaient les plus complètes pour les villes dans mon analyse. Pour les fins de cet article, je n’ai retenu que 4 villes.

Power Query Météo

 

J’ai ensuite d’abord construit une table avec le nom de mes 4 villes (tel que définis dans mon modèle de données) et le nom des stations correspondantes.

Power Query Météo

 

J’ai également créé une table pour obtenir tous les mois et années sous analyse et j’ai ajouté une colonne “id”, qui me sera très utile plus tard.

Power Query Météo

 

Création de ma fonction de transformation de données

Dans un premier temps, je n’ai fait qu’importer un mois de données en utilisant l’url présenté plus haut dans cet article.

importer des données météo dans Power Query

 

Par la suite, j’ai nettoyé les données, pour ne retenir que les informations importantes.

importer des données météo dans Power Query

 

Une fois la requête de transformation des données terminée, je l’ai enregistrée comme fonction, en ajoutant (UrlPath)=> dans l’éditeur de code et en remplaçant l’url par la mention UrlPath (tel qu’illustré ci-dessous).

Power Query Météo

 

Création de la table de données de météo historiques

J’ai d’abord importé la table de stations météo avec les données nécessaires et j’ai ajouté une colonne pour spécifier la ville de correspondance dans mes données de ventes (la colonne “city” ci-dessous).

Power Query Météo

 

J’ai ensuite fusionné les colonnes.

Power Query Météo

 

Puis j’ai transposé les colonnes et ajouté une colonne “id” avec le chiffre 0.

Power Query Météo

 

J’ai ensuite ajouté au bout de cette table, la table avec mes mois sous analyse (append queries). La fusion s’est faite avec le champ id, tel qu’illustré ci-dessous.

importer des données météo dans Power Query

 

J’ai ensuite utilisé la fonctionnalité “Fill down” (Remplissage vers le bas), tel qu’illustré ci-dessous:

Power Query Météo

 

J’ai donc pu “dé-pivoter” mes colonnes et obtenir le tableau ci-dessous.

Power Query Météo

 

J’ai pu ensuite “dé-fusionner” mes colonnes, pour avoir la table complète de toutes les combinaisons de dates (mois et année) et de stations possibles.

Power Query Météo

 

Il m’a ensuite fallu m’assurer d’avoir toutes les informations nécessaires pour reconstruire tous les url me permettant d’aller chercher les données météos mensuelles de toutes ces combinaisons possibles. J’ai d’abord utilisé les fonctionnalités de dates pour me créer un “StartDate” et un “EndDate” par mois.

importer des données météo dans Power Query

 

J’ai également ajouté une colonne pour préciser le code de la province, tel que requis dans l’url et j’ai créé les colonnes mois et années, nécessaires également pour recréer l’url.

importer des données météo dans Power Query

 

J’ai ensuite ajouté une colonne personnalisée me permettant de reconstruire l’url pour chaque combinaison de ma table.

Power Query Météo

 

Voici comment doit se lire le tout (les données entre crochets font référence aux colonnes de ma table):

Power Query Météo

 

Ce faisant, j’ai pu extraire toutes les informations météorologiques quotidiennes passées pour toutes les combinaisons de ma table.

importer des données météo dans Power Query

 

Je n’ai ensuite fait qu’un peu de ménage pour ne retenir que l’essentiel.

importer des données météo dans Power Query

 

Le saviez-vous?

Il est désormais possible de définir un lien url par morceau lors de la définition d’une connexion dans Power BI. Toutefois, on ne peut pas (encore du moins) faire référence à des colonnes de la table de données. Je n’aurais donc pas pu utiliser cette fonctionnalité pour résoudre le cas présenté dans cet article.

Power BI Url

 


 

Fichier d’accompagnement VIP à télécharger

Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.

 

Formation complémentaire

Afin d’approfondir vos connaissances avec Power BI et plus particulièrement vos compétences avec l’éditeur de requête Power Query, nous vous recommandons notre formation Recettes magiques pour transformer vos données.

 

Voici quelques commentaires d’apprenants ayant suivi la formation en ligne Recettes magiques pour transformer vos données :


CFO-Masque_Formations-en-ligne_FBLa mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.

2 réflexions sur “Power Query : Importer les données météo du site climate.weather.gc.ca”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut