Background Image
MICROSOFT

Co-développement dans Power BI : contrôle de version, intégration continue et livraison continue (CI/CD)

Headshot - Eduardo Ferreira
Eduardo Ferreira
Analyste de données

May 22, 2024 | 7 Lecture minute

Collaborer dans Power BI

Microsoft Power BI est une plateforme de business intelligence (BI) qui permet aux utilisateurs de se connecter à de multiples sources de données, de transformer les données et d'obtenir des informations commerciales grâce à de puissantes visualisations. Power BI fait partie de la suite Microsoft "Power Platform", qui ne nécessite pas de code et dont la facilité d'utilisation est l'une des nombreuses raisons pour lesquelles elle a été largement adoptée dans l'industrie.

Bien qu'il soit courant que des équipes collaborent au développement de rapports Power BI, faire travailler plusieurs développeurs sur le même rapport Power BI peut s'avérer délicat. Pour commencer, les fichiers de rapport Power BI (PBIX) ne sont pas directement différables puisqu'il s'agit de fichiers binaires. Cela signifie que les utilisateurs ne peuvent pas facilement suivre les modifications apportées par d'autres développeurs comme ils le feraient normalement lorsqu'ils travaillent sur un projet de codage (par exemple, en utilisant le contrôle de version Git dans un projet d'apprentissage automatique en python). Avec OneDrive, Microsoft permet aux utilisateurs d'accéder au contrôle de version d'un fichier PBIX donné, mais cela ne leur permet pas de voir facilement quelles modifications ont été apportées aux visuels et au modèle de données. Il existe d'autres outils et extensions tiers qui pourraient être utilisés, tels que Tabular Editor pour enregistrer le modèle de données dans un format lisible par l'homme (et différable), mais ils pourraient être compliqués pour les nouveaux développeurs Power BI et/ou les utilisateurs professionnels.

Heureusement, tout cela a changé avec l'annonce de Fabric et de Power BI Desktop Developer Mode. Cette version a introduit de nombreuses fonctionnalités importantes pour la collaboration, telles que l'ajout de Power BI Project files (PBIP)qui, à leur tour, permettent des fonctionnalités telles que le contrôle des versions (ou des sources) et l'intégration et la livraison continues (CI/CD). Mais avant de plonger plus profondément dans les fichiers PBIP, pourquoi ne pas en apprendre davantage sur le contrôle des versions et l'intégration et la livraison continues (CI/CD) ?

Qu'est-ce que le contrôle de version et la CI/CD ?

Le contrôle de version est une pratique courante dans le développement de logiciels qui se réfère à la gestion des modifications apportées aux fichiers et aux projets, tels que les scripts de codage. Parmi ses principales caractéristiques figurent la possibilité de corriger des erreurs ou de restaurer un travail antérieur en revenant à une version antérieure d'un fichier, la possibilité pour plusieurs développeurs de travailler sur le même projet sans écraser le travail des autres, et la création de branches pour développer de nouvelles fonctionnalités potentielles ou pour corriger des bogues. Aujourd'hui, le système de contrôle de version le plus répandu est Gitqui permet de travailler en utilisant un modèle de dépôt. Différentes plateformes utilisent Git pour le contrôle de version, telles que GitHub et Azure DevOps. Il est important de souligner que Git et GitHub sont deux choses différentes : le premier est le système utilisé pour le contrôle des versions, tandis que le second est une plateforme de mise en œuvre.

CI/CD fait référence à l'intégration continue et à la livraison continue. Il s'agit d'une méthode qui consiste à en continu Il s'agit d'une méthode qui consiste à développer en continu des modifications de code, à les tester et à les livrer dans un environnement de production (c'est-à-dire à les mettre à la disposition des utilisateurs finaux). L'un des principaux aspects de cette méthode est l'automatisation des différentes étapes du processus conduisant à une transition plus rapide d'une nouvelle fonctionnalité des environnements de développement à ceux de production, ainsi qu'à une amélioration de la capacité à détecter et à traiter les bugs plus tôt dans le processus de développement.

Le contrôle de version et le CI/CD sont couramment utilisés dans les équipes de développement de logiciels pour améliorer l'efficacité du travail et la qualité du produit, et il est formidable qu'ils puissent maintenant être plus facilement mis en œuvre dans Power BI.

Activer Power BI Project comme option de sauvegarde

Maintenant que nous en savons plus sur le contrôle de version et le CI/CD, il est temps d'apprendre à utiliser ces fonctionnalités avec le nouveau mode développeur de Power BI Desktop. La première étape consiste à activer l'option de sauvegarde PBIP. Pour ce faire, il suffit de se rendre sur la page Options, comme le montre la figure 1. Une fois dans le menu Options, l'option de sauvegarde PBIP peut être activée en accédant à l'onglet Fonctionnalités de prévisualisation pour activer l'option de sauvegarde PBIP.

Asset - Figure 1

Une fois cette nouvelle fonctionnalité activée, l'utilisateur peut maintenant enregistrer son rapport en tant que fichier PBIP en cliquant sur Fichier > Enregistrer sous, puis en sélectionnant Parcourir cet appareil pour choisir l'emplacement d'enregistrement et en changeant le type de fichier en "Power BI project files (*.pbip)", comme le montre la figure 2.

asset - Figure 2

Une fois que le fichier a été enregistré en tant que projet, plusieurs artefacts apparaissent dans le dossier sélectionné. Ces artefacts contiennent des fichiers texte qui définissent le rapport et l'ensemble de données. Les fichiers texte étant différables, ces dossiers peuvent être suivis à l'aide de Git dans un référentiel afin de suivre les modifications apportées au modèle de données et au visuel (rapport).

Figure 3

Utiliser le contrôle de version avec un fichier PBIP

Maintenant que les fichiers texte représentant le rapport Power BI et l'ensemble de données sont disponibles, il est possible d'utiliser un éditeur de code tel que Visual Studio Code (VS Code) pour apporter des modifications au projet. Plus important encore, ces modifications peuvent être suivies à l'aide de Git. Comme Power BI Desktop ne dispose pas (encore) d'une intégration native de Git, VS Code peut également être utilisé à cette fin. Dans VS Code, un référentiel peut être initialisé à l'aide de l'icône "contrôle de source", comme le montre la figure 4. Veuillez noter que d'autres outils que VS Code peuvent être utilisés pour cette étape.

Asset - Figure 4

Une fois le référentiel initialisé, toute modification apportée au fichier PBIP sera répercutée dans l'un des fichiers du dossier dataset ou report. Par exemple, le formatage d'un visuel dans le fichier PBIP, comme la modification de la couleur d'une ligne dans un graphique linéaire, entraîne des modifications dans le fichier rapport.json comme le montre la figure 5.

Asset - figure 5

Co-développement de rapports

L'utilisation d'un référentiel pour suivre les modifications permet à des équipes de développeurs de travailler sur un seul fichier de projet Power BI et constitue la base du travail CICD. Leurs modifications peuvent être soumises et fusionnées à l'aide d'outils d'hébergement tels que GitHub ou Azure DevOps, qui transforme le référentiel local créé dans la section précédente en un référentiel distant. L'utilisation de DevOps est particulièrement intéressante, car elle permet d'intégrer le repo à un espace de travail Power BI Service. Pour ceux qui sont plus familiers avec GitHub, un repo GitHub peut être cloné vers DevOps, et cette copie clonée peut être utilisée pour l'intégration de Power BI Service.

Pour configurer l'intégration Git, créez un nouvel espace de travail et accédez à la page "Paramètres de l'espace de travail". Une nouvelle lame "Git integration" peut être trouvée, où les détails pour le DevOps doivent être entrés, comme le montre la Figure 6. Notez que cette fonctionnalité nécessite l'utilisation de Fabric dans un espace Premium Premium.

asset - figure 6

Une fois que la connexion entre le repo DevOps et l'espace de travail est établie, l'espace de travail sera alimenté avec les fichiers de rapport et d'ensemble de données correspondants, comme si un rapport avait été publié par l'intermédiaire de Power BI Desktop. La différence dans ce cas est que Fabric surveille et suit les changements entre l'espace de travail et le repo, éliminant ainsi le besoin de republier un rapport. Au lieu de cela, les utilisateurs ayant les rôles appropriés peuvent lancer le processus pour s'assurer que les changements sont acceptés ou rejetés, et que la version de l'espace de travail du rapport et de l'ensemble de données est à jour par rapport à la base de données (Figure 7).

asset - figure 7

Pipelines CI/CD

Pour aller encore plus loin dans l'amélioration des performances des équipes de développement de Power BI, il existe une nouvelle fonctionnalité de Pipelines de déploiement qui permet de promouvoir automatiquement des rapports de l'environnement de développement à l'environnement de test, et de l'environnement de test à l'environnement de production (veuillez noter que cette fonctionnalité nécessite également Fabric). Ainsi, un responsable peut promouvoir un rapport et un jeu de données d'un espace de travail Git vers un environnement de test une fois que le projet est prêt à être déplacé vers l'environnement suivant.

Pour commencer, il suffit de se rendre dans l'espace de travail Pipelines de déploiement sur le côté gauche de Power BI Service. Il est possible de choisir un nom, d'ajouter une description et de définir les étapes du pipeline, comme le montre la figure 8.

Asset - figure 8

Une fois le pipeline créé, l'utilisateur peut choisir l'espace de travail utilisé à chaque étape. En pratique, seul l'espace de travail de l'étape de développement doit être configuré, car les espaces de travail de test et de production peuvent être créés automatiquement en cliquant sur le bouton Déployer (mis en évidence dans la figure 9). Cependant, d'autres espaces de travail peuvent également être sélectionnés manuellement pour l'environnement de test et de production.

Asset - Figure 9

Conclusion

La collaboration sur un seul rapport Power BI était auparavant problématique lorsque plusieurs développeurs devaient travailler en même temps. Avec les nouvelles fonctionnalités de Power BI Desktop Developer Mode et Fabric. Les rapports Power BI peuvent désormais être enregistrés en tant que projets Power BI, ce qui permet de diviser les définitions des rapports et des ensembles de données en différents fichiers texte. Les fichiers texte étant différentiables, le contrôle de version devient une option pour travailler avec Power BI. Avec l'ajout d'une fonction de déploiement dans Power BI Service, les utilisateurs peuvent désormais passer en toute transparence de Power BI Desktop à Power BI Service, chaque modification étant sauvegardée par Git.

Références

Documentation sur le mode développeur de Power BI Desktop - Power BI | Microsoft Learn

Power BI Desktop Developer Mode (Preview) | Microsoft Power BI Blog | Microsoft Power BI

Suivre les changements dans Power BI : Partie 1 - Introduction - DATA GOBLINS (data-goblins.com)

Microsoft

Dernières réflexions

Explorez nos articles de blog et laissez-vous inspirer par les leaders d'opinion de nos entreprises.
Asset - Image 1 Data Storage in a Concurrent World 
DONNÉES

Data Storage in a Concurrent World 

Data storage and event ordering in concurrent systems can spark challenges, but there are ways to be prepared.