Actualiser une connexion à une API sur Power BI Service

Publié le 13 juillet 2022
par Kim Leblanc BAA
Le CFO Masqué - Actualiser API sur Power BI Service

Il y a différentes façons d’écrire le code M pour se connecter à une API (Application Programming Interface), cependant, il faudra utiliser une structure précise pour être à même d’actualiser notre connexion à une API sur Power BI Service.

Effectivement, si on utilise Excel pour notre connexion, il n’y a pas de problème à utiliser une connexion de ce type :

Le CFO Masqué - Actualiser API sur Power BI Service

 

Qui consiste à mettre bout à bout, l’URL de l’API suivi des différents paramètres à passer à l’API. Puis de passer le tout dans le paramètre url de la fonction Web.Contents : Web.Contents (URL).

Vous pouvez visionnez notre webinaire passé pour en savoir plus sur les API et comprendre cette méthode : Connecter Power Query à des APIs

 

Problématique de cette structure

Il y a deux éléments qui font en sorte que la structure utilisée plus haut pose problème. D’un, une fois notre rapport publié sur Power BI Service, nous ne serons pas en mesure d’actualiser nos données. De deux, pour beaucoup d’APIs, nous ne pourrons pas passer nos identifiants et autres paramètres dans ce type de structure.

 

Structure à utiliser pour une actualisation sur le Service

Cette structure va fonctionner dans Power BI Desktop. Par contre, quand viendra le temps d’actualiser vos données sur le service, vous obtiendrez un message d’erreur. Le message vous indiquera que la donnée source ne peut être actualisée.

La structure à privilégier est donc d’utiliser les deux paramètres de la fonction Web.Contents : URL et options.

Le CFO Masqué - Actualiser API sur Power BI Service

 

Dans l’exemple suivant, on se connecte à l’API de Statistique Canada pour aller chercher des données de l’industrie forestière et connaitre la production pour différentes essences d’arbres.

Une fois qu’on s’est créé un compte sur Statistique Canada, on obtiendra une clé d’identification pour se connecter à l’API.

On obtiendra également les informations nécessaires concernant les différents paramètres à utiliser pour obtenir les données désirées. Nous allons alors insérer ces éléments dans le 2e paramètre de la fonction Web.Contents : optional Options as nullable record.

Vous avez dans l’image suivante les différentes Options que l’on peut utiliser dans ce paramètre et vous avez aussi l’information dans la documentation de Microsoft :

Le CFO Masqué - Actualiser API sur Power BI Service

 

Voici le code M avec l’utilisation de ces options

Le CFO Masqué - Actualiser API sur Power BI Service

 

1er paramètre de Web.Contents : URL

Nous avons passé l’URL de base des APIs de Statistique Canada dans la variable url et seulement cette partie se trouve dans le premier paramètre du Web.Contents.

 

Notez que le magasin des API du GC a officiellement fermé ses portes à compter de 12h00 HAE le 29 Septembre 2023.

 

 

2e paramètre de Web.Contents : Options

Nous avons utilisé 3 différentes options pour le 2e paramètre du Web.Contents soit :

  • RelativePath dans lequel nous avons passé notre variable relativepath qui contient l’adresse de l’API à laquelle nous voulons nous connecter (v1/getDataFromVectorsAndLatestPeriods).
    • Dans le cas où l’on voudrait se connecter à une autre API de Statistique Canada, on aurait seulement à modifier le RelativePath et non l’URL de base.
  • Headers dans lequel nous avons passé notre clé d’identification dans le paramètre user_key et le type de donnée : application/json dans le paramètre Content-Type. Vous obtenez le nom des paramètres à utiliser dans la documentation de l’API.
  • Content dans lequel nous avons identifié le vectorId à utiliser et le nombre de données historiques à retourner pour le paramètre latestN.

Dans les données de Statistique Canada, le vectorId identifie le produit pour lequel nous voulons obtenir de l’information. Ici le vectorId a été inséré dans un paramètre dans Power Query. Puis pour le nombre de périodes, on a utilisé 5 pour obtenir les 5 dernières données historiques.

Note : ici il faut entrer l’information en format JSON tel que décrit dans la documentation de l’API. Aussi, nous avons utilisé l’option Content puisque cette API est de type POST, autrement, il faudrait utiliser l’option Query.

Comme nous devons fournir l’information sous forme de record dans le 2e paramètre du Web.Contents, nous avons entouré le tout de crochet [ ].

 

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

 

Une fois sur le Service

Lorsque nous publions le rapport sur le Service, il faut notamment compléter les étapes suivantes.

 

  1. Aller dans les paramètres du jeu de données

Le CFO Masqué - Actualiser API sur Power BI Service

 

  1. Aller dans la section Information d’identification de la source de données. Il y a un message d’erreur indiquant que notre source de données ne peut être actualisée, car les informations d’identification ne sont pas valides.

 

  1. Il faut cliquer sur l’option Modifier les informations d’identification.

Le CFO Masqué - Actualiser API sur Power BI Service

 

  1. Il faut choisir la méthode d’authentification Anonymous, puis cocher l’option Ignorer le test de connexion.  Il est nécessaire d’entrer l’information de cette façon puisque la méthode d’identification à notre API est contenue dans notre code M dans Power Query (dans l’option Headers) et c’est cette dernière que nous voulons utiliser.

Le CFO Masqué - Actualiser API sur Power BI Service

 

  1. La source de données peut maintenant être actualisée sur le Service.

 

Flux de données

Il serait également intéressant de créer votre connexion à l’API directement avec un Flux de données Power BI pour vous permettre d’en contrôler l’actualisation de façon indépendante de vos autres données. Effectivement, plusieurs API ont un coût à l’utilisation. Il sera donc judicieux d’en contrôler l’actualisation de façon indépendante pour limiter les frais.

 

D’une API à l’autre

Il est important de savoir que chaque API possède ses propres paramètres et méthode d’authentification. Ainsi l’information à insérer dans chacune des options de la fonction Web.Contents va varier d’une API à l’autre. Il est donc important de prendre connaissance de la documentation de l’API et d’apporter les modifications nécessaires au code décrit précédemment.

 


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 :

Voici nos formations Power BI disponibles en français : Voici nos formations Power BI disponibles en anglais : Découvrez également notre parcours de 10 formations sur Power BI. Ce parcours vous donne le droit de vous inscrire à un coaching en ligne gratuit de 3 heures pour vous préparer à passer l'examen d'accréditation de Microsoft en Power BI.

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é.

1 réflexion sur “Actualiser une connexion à une API sur Power BI Service”

Laisser un commentaire

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

Retour en haut