Récupération via API WEB de données météo et incrémentation horaire avec PQ

Bonjour à tous,

Mon objectif est de récupérer les données météo de ma ville via l'API du site Openweather en les intégrant sur excel et d'en conserver l'historique heure par heure. Le but de cette opération est de pouvoir comparer la température extérieur à certaines consommations électriques spécifiques.

J'arrive bien avec PQ à récupérer les données via l'API à intervalles réguliers, à sélectionner les données qui m'intéressent et à les organiser comme je le veux.

Là où mes compétences s'arrêtent : La ligne en cours (la seule ligne plutôt) s'écrase et les données s'actualisent toujours sur cette première ligne. Je n'arrive pas à créer l'historisation des données en actualisant les données sur une nouvelle ligne à chaque fois. Idéalement la ligne de données la plus récente est en première dans la liste.

Exemple de ce que j'ai :

DATETEMP
04/04/2023 12:00
10,00

Exemple de ce que j'aimerais :

DATETEMP
04/04/2023 14:0012,00
04/04/2023 13:0011,00
04/04/2023 12:0010,00

Merci à tous pour votre aide.

Cordialement,

TM

Bonjour,

Avec Power Query, si on veut créer un historique avec ajout de nouvelles données sans écrasement des précédentes, il faut passer par un "self-referencing".

C'est-à-dire combiner la requête avec elle-même. Table.Combine( résultat avant actualisation, résultat de l'actuualisation)

A+

Merci pour votre réponse. Lorsque j'essai de faire cela je n'obtiens qu'une ligne supplémentaire et les informations des deux seules lignes sont identiques.

Avant Actualisation

DATETEMP
04/04/2023 16:4215,00

Après Actualisation

DATETEMP
04/04/2023 16:4615,00
04/04/2023 16:4615,00

Je cherche sur cet axe et je ne trouve aucun exemple de code probant qui incrémente en créant une ligne supplémentaire dès que la DATE change mais en conservant la ligne précédente

Cordialement,

TM

C'est assez complexe à mettre en œuvre.

Il y a assez peu d'exemple sur le web et, comme tu ne joins pas de fichier, c'est difficile de te décrire la procédure étape par étape.

En voici quand même un exemple : https://blog.jamesbayley.com/2018/04/23/power-query-how-to-load-only-fresh-rows-and-create-an-excel-...

A+

Je te remercie pour le lien, à la première lecture ça ressemble globalement à ce que j'ai trouvé par ailleurs.

Je vais essayer, néanmoins tu as raison, voici mon excel. La clé API est facile à supprimer et régénérer donc ce n'est pas une donnée sensible.

Merci

TM

Re,

Avant le "Type modifié" final de ta requête, tu rajoutes la ligne suivante :

= Table.Combine({#"Conserver les premières lignes", Excel.CurrentWorkbook(){[Name="connect_data"]}[Content]})

Cela combine la table que tu importes avec celle qui est chargée sur la feuille.

A+

Bonjour et MERCI OOoiste !

La récupération des températures avec date/heure en gardant l'historique fonctionne.

Je joins le code ici pour ceux que ça pourraient intéresser (suffit de s'inscrire sur le site openweathermap.org avant et de récupérer sa clé API) :

let
Source = Json.Document(Web.Contents("INSERER ICI LE LIEN OPENWEATHERMAP.ORG AVEC VILLE ET CLE API")),
main = Source[main],
#"Converti en table" = Record.ToTable(main),
#"Personnalisée ajoutée" = Table.AddColumn(#"Converti en table", "Date", each DateTime.LocalNow() as datetime),
#"Colonnes permutées" = Table.ReorderColumns(#"Personnalisée ajoutée",{"Name", "Date", "Value"}),
#"Colonnes supprimées" = Table.RemoveColumns(#"Colonnes permutées",{"Name"}),
#"Conserver les premières lignes" = Table.FirstN(#"Colonnes supprimées",1),
#"Historique" = Table.Combine({#"Conserver les premières lignes", Excel.CurrentWorkbook(){[Name="connect_data"]}[Content]}),
#"Type modifié" = Table.TransformColumnTypes(#"Historique",{{"Date", type datetime}})
in
#"Type modifié"

Cordialement,

TM

Rechercher des sujets similaires à "recuperation via api web donnees meteo incrementation horaire"