Pourquoi et comment intégrer Python dans Power BI ?

Par Khaoula BENYAHYA, Data Analyst

 

La visualisation des données nous aide à identifier des modèles, des tendances et des corrélations qui pourraient ne pas être détectés autrement. En plaçant les données dans un contexte visuel, nous améliorons notre compréhension des données. Power BI est un outil parmi d’autres pour la visualisation des données.

Qu’est-ce que Power BI ?

Power BI est un outil de business intelligence (BI) qui sert à la gestion, l’analyse, la visualisation et le partage de données au sein d’une organisation.

Le principe de Power BI, c’est le self-service BI. Cela veut dire que l’utilisateur final n’a pas besoin d’avoir des connaissances informatiques poussées pour être en mesure de produire son propre
rapport.

See the source image

Pourquoi utiliser Power BI ?

Power BI présente de nombreux avantages :

1. Mémoire et vitesse : de gros volumes de données peuvent être rapidement collectées et analysées.

2. Sécurité des données : Power BI permet de publier des rapports en toute sécurité et de contrôler librement l’accessibilité des données.

3. Savoir-faire technique avancé non requis : pour rendre ainsi accessible au plus grand nombre d’usagers.

4. Interaction entre les diverses solutions Microsoft : Les solutions Microsoft s’intègrent facilement avec Power BI. De plus, de nombreuses fonctionnalités sont partagées entre les différentes applications de Microsoft. Par exemple, Power BI repose sur le langage DAX et le langage DAX, repose en partie sur la bibliothèque de fonctions Excel. Il y a donc un gain important au niveau de l’apprentissage des usagers.

5. Coût relativement faible : l’application Desktop est gratuite et pour tirer avantage de toutes les fonctionnalités de sécurité, partage, gouvernance, etc., il faut adhérer à une licence.

6. Fonctionnalités pertinentes offertes aux créateurs : en voici quelques-unes :

  • Large choix de connexion aux sources de données
  • Options de personnalisation riches et puissantes pour la création des tableaux de bord.
  • Accès à de nombreux visuels et modèles de tiers de la communauté Power BI
  • Création de visuels basés sur des fonctionnalités d’IA.
  • Bénéficier de compléments comme R et Python pour l’analyse avancée.

Intérêt de faire du Python dans Power BI :

Python est devenu l’un des langages de données à la croissance la plus rapide et de plus en plus utile. Profitant de cette tendance, Power BI a introduit la prise en charge de Python en août 2018.

Cette intégration ouvre un large éventail de possibilités en termes d’extraction et de nettoyage des données ainsi que de création de visuels attrayants et entièrement personnalisés.

Python est indiscutablement l’un des langages préférés des statisticiens, des data scientists et des data analysts. Par conséquent, pour les data analysts ou data scientists qui développent déjà en Python, mais qui ne sont pas chargés d’utiliser Power BI pour une raison quelconque, ils peuvent facilement intégrer leur corpus de travail existant dans cet outil.

En tant que professionnels de la BI, si on souhaite effectuer certaines tâches de data science, on doit nous appuyer sur une équipe de data scientists. D’un autre côté, un développeur Python doit s’appuyer sur l’équipe BI pour présenter son analyse dans un format présentable. A l’inverse, et c’est tout l’intérêt, Power BI supprime cette co-dépendance car il est possible désormais d’exécuter Python dans un environnement intégré.

Qu’est-ce que Python ?

C’est un langage de programmation open source qui présente de nombreuses caractéristiques intéressantes. Il est :

  • Multiplateforme : C’est-à-dire qu’il fonctionne sur de nombreux systèmes d’exploitation : Windows, Mac OS X, Linux, Android, iOS, depuis les mini-ordinateurs Raspberry Pi jusqu’aux supercalculateurs.
  • Gratuit : Vous pouvez l’installer sur autant d’ordinateurs que vous voulez (même sur votre téléphone !).
  • De haut niveau : Il demande relativement peu de connaissance sur le fonctionnement d’un ordinateur pour être utilisé.
  • Langage interprété : Un script Python n’a pas besoin d’être compilé pour être exécuté, contrairement à des langages comme le C ou le C++.
  • Orienté objet : C’est-à-dire qu’il est possible de concevoir en Python des entités qui miment celles du monde réel avec un certain nombre de règles de fonctionnement et d’interactions.
  • Relativement simple à prendre en main (notion très relative !).
  • Très utilisé en bio-informatique et plus généralement en analyse et science de données.


Exemples de fonctionnalités de Python dans Power BI

L’utilisation de Python dans Power BI offre plusieurs fonctionnalités : 1. Importer des données en utilisant un script Python. Sur le ruban d’accueil, cliquez sur Obtenir les données > Plus… puis choisissez Script Python, puis au code !

Une image contenant texte Description générée automatiquement
Figure 1 : Importation de donnée avec un script Python

2. Intégrer Python dans l’éditeur Power Query de Power BI Desktop. Cela permet d’effectuer un nettoyage des données à l’aide de Python et d’effectuer une mise en forme et une analyse avancée de données dans les datasets, y compris le traitement des données manquantes, les prédictions et le clustering, pour n’en nommer que quelques-uns. Pour ce faire, il faut :

  • Ouvrir Power Query
  • Sur l’onglet « Transformer », cliquer sur « Exécuter le script Python »
  • Sur la fenêtre qui s’ouvre, écrire le code pour le traitement souhaité. Par exemple pour un cas simple de traitement de valeurs manquantes :

Une image contenant texte Description générée automatiquementFigure 2 : Exécution du script Python

 

3. Incorporer des fonctionnalités du Machine Learning en tant qu’étape du workflow.

4. Automatiser et optimiser les processus.

5. Créer des visuels personnalisés : on va détailler cela dans la partie suivante.

Comment ajouter des visuels personnalisés en Python dans Power BI ?

 

1- Installation de Python : avant d’exécuter des scripts Python dans Power BI Desktop, vous devez installer Python sur votre ordinateur local. En effet, Power BI Desktop n’inclut, ne déploie, ni n’installe le moteur Python. Une fois Python installé, il faut vérifier que les scripts Pythons sont activés sur Power BI Desktop.

Pour cela, sélectionnez : Fichier > Options et paramètres > Options > Création de scripts Python. Au niveau de la page Options de scripts Python, vérifiez que le chemin local d’installation de Python est détecté, ou si nécessaire l’indiquer dans Répertoires de base Python détectés le chemin d’accès.

Graphical user interface, text, application Description automatically generated
Figure 3 : Options de script Python

 

2- Installation des packages requis : les packages pandas (bibliothèque pour la manipulation et l’analyse des données) et matplotlib (bibliothèque de traçage 2D de Python qui produit des figures de qualité) sont nécessaires pour que Python visual fonctionne, il est donc requis de les installer grâce à la commande pip install sur une console ou un interpréteur de commandes.

3- Création de visualisations avec Python dans Power BI Desktop :

a. Cliquer sur le visuel Python dans le panneau de visualisation :

A screenshot of a computer Description automatically generated with low confidenceFigure 4 : Les visuels Python

 

b. Un espace réservé au visuel Python apparaît dans le canevas de Power BI. En cliquant dessus, on voit apparaître un « éditeur de script Python » en bas de la page.

Graphical user interface Description automatically generated with low confidenceFigure 5 : Editeur de script Python

c. Après avoir chargé un jeu de données dans Power BI, glisser et déposer les attributs/champs à visualiser dans la section Valeurs :

Graphical user interface, application Description automatically generated

Figure 6 : Section Valeurs

 

d. Désormais, les données peuvent être utilisées pour créer des tracés à l’aide du script Python. Un code Python est généré pour les champs sélectionnés.

Text Description automatically generated

Figure 7 : Éditeur de Script Python

e. Le code Python peut être exécuté en cliquant sur le bouton  » play« .


Contraintes et limitations de Python dans Power BI :

Python est une excellente fonctionnalité à utiliser avec Power BI, mais il présente quelques limitations :

  • Taille des données : les données utilisées par le visuel Python pour le traçage sont limitées à 150 000 lignes. Si plus de 150 000 lignes sont sélectionnées, seules les 150 000 premières lignes sont utilisées et un message s’affiche sur l’image. En outre, les données d’entrée ont une limite de 250 Mo.
  • Résolution : tous les visuels Python sont affichés dans une résolution de 72 ppp.
  • Temps de calcul : si le calcul d’un visuel Python prend plus de cinq minutes, le délai d’exécution est dépassé, ce qui provoque une erreur.
  • Relations : Comme avec d’autres visuels Power BI Desktop, si des champs de données provenant de différentes tables, sans aucune relation définie entre elles, sont sélectionnés, une erreur se produit.

· Si le jeu de données d’entrée d’un visuel Python a une colonne qui contient une valeur de chaîne de plus de 32766 caractères, cette valeur est tronquée.

· Les visuels Python sont actualisés lors de la mise à jour, du filtrage et de la sélection des données. Toutefois, l’image elle-même n’est pas interactive et ne peut pas être la source du filtrage croisé.

· Les visuels Python répondent à la sélection d’autres visuels, mais vous ne pouvez pas cliquer sur des éléments dans le visuel Python pour appliquer un filtre croisé à d’autres éléments.

· Seuls les tracés représentés sur l’écran Python par défaut s’affichent correctement sur le canevas. Évitez d’utiliser explicitement un autre écran Python.

· Les visuels Python ne prennent pas en charge le renommage des colonnes d’entrée. Les colonnes sont référencées par leur nom d’origine durant l’exécution du script.

· Uniquement les packages Python suivants sont actuellement pris en charge : Numpy, Pandas, Matplotlib, Seaborn,Scipy, Scikit-learn, Statsmodels, Xgboost.

· Sur l’éditeur de script Python sur Power BI, on ne retrouve pas les fonctionnalités d’un IDE (Integrated Development Environment) indépendant, telle que IntelliSense : un assistant de complétion de code, qui reste une des fonctionnalités les plus importantes pour un développeur. Cela ne sera pas très contraignant puisqu’en général, on ne sera pas amené à écrire des centaines lignes de code sur Power BI. Cette limite peut être contournée par la possibilité de développer sur votre éditeur externe préféré, puis directement importer le code sur Power BI Desktop.

Automatiser le déploiement de rapports Power BI à l’aide d’Azure DevOps

Power BI est une solution d’analyse de données conçue par Microsoft. Pensée dans une logique de self-service BI, elle vise à rendre autonome les utilisateurs métier sur les phases de conception et développement de rapports interactifs.

Les rapports développés sont partagés au travers d’un portail web : https://app.powerbi.com.

Cette publication peut se faire manuellement depuis le client lourds Power BI Desktop, ou via le portail web directement. La gestion des déploiements, des versions de rapports ou encore des environnements cibles peut rapidement s’avérer fastidieuse.

Afin de sécuriser la chaine de développement et simplifier la réalisation et le suivi des publications, il est pertinent de mettre en place un pipeline de déploiement automatisé.

Au travers de cet article, nous allons voir comment mettre en place une chaine CI/CD pour Power BI avec Azure DevOps. Nous verrons comment :

  • Enregistrer et paramétrer une application dans Azure Active Directory
  • Configurer les tenant et Workspace Power BI
  • Enregistrer des développements Power BI dans un Repo DevOps
  • Configurer et créer un pipeline de build/release


Configuration des environnements

Enregistrement d’une nouvelle application

Pour accéder au contenu et aux API du service Power BI, vous devez inscrire une application qui s’authentifiera auprès de votre Azure Active Directory.

Pour ce faire, suivez ces instructions :

  •  Se connecter à l’Azure Portal
  •  Sélectionner Azure Active directory, puis App Registration
  • Cliquer sur New Registration
  • Donner un nom et une description à l’application, puis sélectionner le type de compte coché (cf. Figure 1) avant de l’enregistrer

Une image contenant texte Description générée automatiquement

Figure 1 : Créer une application

Une fois l’application créée, nous pouvons accéder à sa vue d’ensemble :

Figure 2 : Overview de l’application Power Bi créée

Depuis l’application, sélectionner Certificats & Secrets et générer un nouveau secret client :

Une image contenant texte Description générée automatiquement

Figure 3 : Création d’un secret client pour l’application

La dernière étape consiste à paramétrer les permissions de l’application afin de lui donner la possibilité d’accéder en lecture et écriture au Service Power BI.

Pour ce faire :

  • Cliquer sur API permissions, puis Add a permission
  • Rechercher Power BI Service
  • Sélectionner Application permissions
  • Cocher Tenant.ReadAll et Tenant.ReadWriteAll
  • Valider les permissions

Figure 4 : Paramétrage des permissions de l’application

NB : les autorisations ajoutées peuvent nécessiter la validation par un administrateur. Si cela est le cas :

  • Se rendre dans l’Azure Active Directory, puis sélectionner Entreprise Application
  • Rechercher et cliquer sur l’application PowerBI
  • Dans le panneau latéral, cliquer sur Permissions situé dans l’onglet Security
  • Cliquer enfin sur Grant admin consent for <VotreSouscription>

 

Configuration du tenant Power BI

L’application enregistrée précédemment au niveau de l’Azure Active Directory communique avec les APIs Power BI via un Service Principal qui lui est assigné.

Cette communication doit être préalablement autorisée au niveau du tenant Power BI pour être pleinement fonctionnelle.

Pour ce faire :

  • Se connecter au portail Power BI
  • Cliquer sur l’icône des paramètres en haut à droite et sélectionner Admin portal
  • Cliquer sur Tenant settings et autoriser l’option Allow service principals to use Power BI APIs présente dans la partie Developer settings

Une image contenant texte Description générée automatiquement

Figure 5 : Autorisation du Service Principal à accéder aux APIs Power BI

Configuration d’un Workspace Power BI

La seconde étape consiste à autoriser l’application à interagir avec un Workspace donné, afin de lui permettre par la suite de publier des rapports dans le cadre du pipeline de déploiement automatisé.

L’attribution des droits est similaire à un utilisateur classique, à savoir :

  • Sélectionner le Workspace cible
  • Cliquer sur les 3 points verticaux en haut à droite
  • Cliquer sur Workspace access

Figure 7 : Accès à la fenêtre de paramétrage des accès du Workspace

  • Rechercher l’application dans Azure AD et ajouter les droits Administrateur ou Collaborateur à minima

Figure 8 : Attribution du rôle Contributor à l’app PowerBI


Synchronisation depuis Azure DevOps


Enregistrement des rapports Power BI dans un repo Azure DevOps

Azure Repos
est un système de contrôle de version basé sur git et faisant partie de la solution Azure DevOps. Coupler les sources de développement à ce service permet leur sauvegarde et suivi dans
le temps, tout en facilitant le travail collaboratif.

De plus, il offre la possibilité de mettre en place des chaines CI/CD pour le déploiement des sources vers différents environnements.

NB : l’utilisation d’Azure Repos comme contrôleur de source n’est pas obligatoire, et peut être substitué par BitBucket, TFCV, GitHub, …

Dans le cadre de cet article, nous n’allons pas détailler les actions de création, synchronisation et utilisation d’un repo, mais simplement rappeler les étapes entrant dans la sauvegarde d’un rapport Power BI dans un repo Azure DevOps :

  • Créer un nouveau repo Power BI dans lequel seront gérées les différentes versions des rapports

Figure 9 : Initialisation d’un repo Power BI dans Azure DevOps

  • Cloner le Repo Power BI sur le serveur local en cliquant sur Clone in VS Code avant de choisir un répertoire local :

Figure 10 : Clonage du repo Power BI dans un répertoire local

Une image contenant texte Description générée automatiquement

Figure 11 : Accès au contenu du répertoire Power BI depuis Visual Studio Code

  • Créer un rapport Power BI dans le répertoire en question. Dans cet exemple, nous ajoutons le rapport suivant :
    – Libellé : AdventureWorks_InternetSales.pbix
    – Source : Base de données Azure Analysis Services

Une image contenant texte Description générée automatiquement

Figure 12 : Ajout du rapport AdventureWorks_InternetSales.pbix

  • Réaliser un commit puis un push des modifications réalisées dans le répertoire vers le repo Azure :

Une image contenant texte Description générée automatiquement

Figure 13 : Enregistrement des modifications dans Azure Repo

  • Vérifier que le rapport est bien présent dans le repo depuis l’interface web Azure DevOps :

Une image contenant texte Description générée automatiquement

Figure 14 : Rapport Power BI sauvegardé dans DevOps


Création de pipelines de déploiement Azure DevOps

Extension d’automatisation

Grâce aux API REST Power BI, il est possible d’interagir avec le Service Power BI afin de réaliser de nombreuses tâches telles que :

  • Import / export de rapport Power BI Desktop (.pbix)
  • Rafraichissement d’un dataset
  • Création / suppression de Workspace
  • Gestion des accès à un Workspace (Utilisateur, Groupe, Service Principal)

Dans le cadre de l’implémentation de pipelines CI/CD, nous sommes amenés à utiliser ces API afin de configurer l’automatisation des déploiements.
Afin de simplifier ce processus, Il existe des extensions DevOps dédiées.
Microsoft a mis à disposition depuis décembre 2021 l’extension Power BI automation tools.

Une image contenant texte Description générée automatiquement

  • Figure 15 : Power BI Automation tools

Cette extension propose un ensemble d’opérations d’API pour les pipelines de déploiement :

  •  Créer/supprimer un pipeline
  • Attribuer/retirer un Workspace au pipeline
  • Ajouter un utilisateur à un pipeline et/ou Workspace
  • Déployer des Dataflows, Datasets, Reports et Dashboard dans un Workspace

Cependant, elle présente pour l’heure certaines limitations qui peuvent s’avérer bloquantes :

  • Ne prend pas en charge la mise à jour des chaines de connexion des sources du rapport
  • Fonctionne uniquement sur des Workspace Premium
  • Est toujours en version Preview

Une autre extension, développée et mise à disposition par Maik VAN DER GAAG, permet également de réaliser facilement des chaines CI/CD. Nommée Power BI Actions, celle-ci offre la possibilité d’automatiser un grand nombre de tâches telles que :

  • Chargement / import de rapports Power BI
  • Création / suppression de Workspace Power BI
  • Ajout d’utilisateurs, Group ou Service Principal à un Workspace Power BI
  • Mise à jour des chaines de connexion d’un rapport et rafraichissement automatisé
  • Etc…

Répondant à l’ensemble de nos besoins et ne nécessitant pas d’abonnement Premium, c’est la solution pour laquelle nous allons opter pour la suite de cet article.

Ainsi, la première étape de la création de pipelines de déploiement automatisé consiste à installer cette extension dans notre organisation DevOps. Pour ce faire :

  • Depuis Organization Settings, cliquer sur Extensions présent dans l’onglet General.
    Cliquer ensuite le bouton Browse marketplace



Figure 16 : Recherche de l’extension depuis la marketplace

  • Rechercher Power BI Actions, la sélectionner puis cliquer sur Get it free

Une image contenant texte Description générée automatiquement

Figure 17 : Ajout de l’extension

  • Sélectionner l’organisation DevOps à laquelle ajouter l’extension puis lancer son installation

Figure 18 : Installation de l’extension pour l’organisation sélectionnée

Connexion au Service Power BI

Avant de créer le pipeline de déploiement, nous devons configurer la connexion entre DevOps et leService Power BI. Celle-ci, nomméeService connection, est à paramétrer depuis DevOps :

  • Depuis l’écran Project Settings du projet Power BI, cliquer sur Service connections présent dans l’ongletPipelines avant de sélectionner Create service connection
  • Rechercher Power BI Service connection et passer à l’étape suivante

Figure 19 : Création d’une connexion à Power BI

  • Depuis l’écran de configuration, choisir Service Principal comme méthode d’authentification, ainsi que l’environnement Public, puis préciser les informations suivantes :
    Tenant ID : Directory (tenant) ID de l’app Power BI créée en début d’article
    Client ID : Application (client) ID de l’app Power BI
    Client Secret : Value du secret de l’app Power BI

Figure 20 : Configuration du service connection

Création du pipeline de build (CI)

Ce pipeline a pour objectif de capturer l’ensemble des sources du repo (ici le rapport .pbix) afin de les publier sous forme d’artefacts de déploiement. Ce sont ensuite ces artefacts qui seront déployés sur les différents environnements via le pipeline de release.

La création de ce pipeline se fait par le biais des étapes suivantes :

  • Depuis le projet DevOps, sélectionnerPipelines puis cliquer sur Create Pipeline
  • Choisir Azure Repos Git, puis le repo PowerBI et enfin Starter pipeline

Figure 21 : Configuration du pipeline de build

Dans l’écran de Review du pipeline YAML, ajouter le code suivant :

trigger:
- main

pool:
  vmImage: 'windows-latest'

steps:
- task: CopyFiles@2
  displayName: "---=== Power BI Reports ===---"
  inputs:
    SourceFolder: '$(Build.SourcesDirectory)'
    Contents: '**.pbix'
    TargetFolder: '$(Build.ArtifactStagingDirectory)'
    Overwrite: true
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'PowerBIReport'
    publishLocation: 'Container'

 

NB : Ce script se charge de copier les fichiers .pbix présents dans le repository pour les publier en tant qu’artefacts dans le répertoire PowerBIReport.

  • Cliquer enfin sur Save and run. Le pipeline s’exécutera alors avec succès

Création du pipeline de release (CD)

Ce pipeline définit l’ensemble des étapes à suivre pour déployer les datasets et rapports Power BI (.pbix) vers les environnements cibles.

L’utilisation de l’extension Power BI Actions précédemment installée permet de faciliter son implémentation, en proposant une interface graphique de configuration des différentes tâches du pipeline.

Pour cet exemple, nous souhaitons :

  • Déployer un rapport Power BI Desktop (.pbix) sur un Workspace de production
  • Modifier la chaine de connexion au cube Azure Anaysis Services afin de pointer vers la base de données de production.

La création d’un tel pipeline suit les étapes suivantes :

  • Depuis le projet DevOps, sélectionnerRelease dans l’onglet Pipelines, cliquer sur New pipeline puis Empty job

Figure 22 : Création d’un pipeline de release vide

  • Cliquer sur Add an artifact.
  • Depuis la fenêtre de paramétrage, choisir Build comme Source type afin de récupérer le rapport publié par le pipeline de build créé à l’étape précédente.
  • Compléter les informations Project etSource, choisir Latest pour Default version afin de déployer automatiquement la dernière version du rapport, puis valider.

Figure 23 : Configuration des artefacts à déployer

  • Une fois l’artefact paramétré, cliquer sur 1 job, 0 task du Stage 1 afin de configurer les tâches de déploiement.
  • Au niveau de l’Agent job, cliquer le +, puis rechercher Power BI Actions avant de cliquer sur Add :

Figure 24 : Ajout d’une tâche Power BI Actions

  • La première tâche consiste à publier le rapport sur le Workspace de production. Renseigner les informations suivantes :
    Power BI service connection : Service connection configuré précédemment
    Action : Upload Power BI report
    Workspace name : Libellé du Workspace de destination
    – Source file : chemin complet vers le rapport à déployer.

Celui-ci est facilement accessible depuis le menu « » car l’artefact a été paramétré plus tôt

Figure 25 : Configuration de la tâche de publication du rapport

  • Ajouter une nouvelle tâche Power BI Actions.
  • Cette seconde tâche consiste à mettre à jour la chaine de connexion à la base de données Azure Analysais Services (AAS). Les informations suivantes sont attendues :
    Power BI service connection : Service connection configuré précédemment
    Action : Update datasource connection
    Workspace name : Libellé du Workspace de destination
    Dataset name : Libellé du rapport Power BI
    Datasource type : Type de la source de données (ici Analysis Services)
    Old Server : Chaine de connexion au server préconfiguré dans le rapport
    New server : Chaine de connexion vers le server AAS de destination
    Old dataset : Libellé de la base de données sur le server source
    New dataset : Libellé de la base de données sur le server de destination

Une image contenant texte Description générée automatiquement

Figure 26 : Configuration de la tâche de mise à jour de la chaine de connexion de la source AAS

  • Sauvegarder le pipeline de release.

Une image contenant texte Description générée automatiquement

Figure 27 : Sauvegarde du pipeline de release

  • Afin de tester notre pipeline, nous devons créer une release avant de la déployer. Pour ce faire, cliquer sur Create release à côté du bouton Save.
  • Dans la nouvelle fenêtre, sélectionner l’étape tout juste créée (renommée ici Publish Power BI Report) puis cliquer sur Create.

Figure 28 : Création d’une release

  • La release Release-1 a été créée.
  • Sélectionner l’étape non déployée, avant de cliquer sur Deploy.

Figure 29 : Déploiement du pipeline de release

  • Une fois le déploiement achevé, un résumé des actions est disponible, ainsi que les logs associées.

Figure 30 : Déploiement du rapport et modification de la chaine de connexion réalisés avec succès

  • Enfin, nous retrouvons bien les rapports et datasets publiés dans notre espace de travail.

Une image contenant texte Description générée automatiquement

Figure 31 : Rapport Power BI accessible depuis le Workspace de production

Variabilisation des paramètres du pipeline

Lors de la création du pipeline de release, nous avons paramétré un certain nombre d’informations, telles que les serveurs et base de données AAS, ou encore le Workspace de destination Power BI.

Ces informations, codées « en dur », ne facilitent pas la maintenance et l’évolutivité de la chaine.

Ainsi, il est recommandé de les variabiliser à l’aide des variables de pipelines.

Depuis l’écran Pipeline variables de l’onglet Variables du pipeline de release, il est possible de paramétrer les variables qui seront par la suite appelées depuis les tâches.

Celles-ci sont constituées de :

  • Name : Libellé de la variable
  • Value : Valeur de la variable
  • Lock : Masquer ou non la valeur de la variable
  • Scope : Périmètre sur lequel la variable est disponible

Afin d’illustrer leur utilisation, nous faisons évoluer le pipeline précédent en ajoutant une nouvelle étape de publication du rapport sur l’environnement de développement.

Puis, nous créons les 7 variables suivantes :

Figure 32 : Variables du pipeline de release

Les 5 premières variables, communes aux deux étapes, sont rattachées au périmètre Release.

A l’inverse, les libellés des Workspace de DEV et PROD sont associés uniquement à leur étape respective.

Enfin, nous modifions les tâches précédemment développées en remplaçant les valeurs inscrites « en dur » par leur équivalent sous forme de variables.
Tout d’abord pour la tâche de publication du rapport :

Figure 33 : Variabilisation des informations de paramétrage de la publication du rapport

Puis pour la tâche de modification de la chaine de connexion :

Une image contenant texte Description générée automatiquement

Figure 34 : Variabilisation des informations de paramétrage de la modification de la chaine de connexion

Une fois les modifications sauvegardées, la release recréée puis déployée, nous obtenons une chaine CI/CD complète de publication et paramétrage en DEV et PROD d’un rapport Power BI Desktop « commité » dans un repo Azure :

Figure 35 : Déploiement du rapport et modification de la chaine de connexion sur deux environnements


Conclusion

Au travers de ce cas d’usage, nous avons vu comment réaliser de bout en bout une chaine CI/CD de déploiement de rapport Power BI Desktop (.pbix).

Par le biais d’un pipeline de build / release, il est possible d’automatiser les tâches de publication des rapports. Cette solution, au-delà du côté pratique, présente de nombreux avantages :

  • Fiabilisation du processus de publication
  • Versioning des rapports
  • Choix de la version du rapport à publier, permettant un rollback à tout moment
  • Gouvernance du service Power BI simplifiée