Microsoft Fabric : ce que vous devez savoir sur l’intégration Git pour Power BI

Par Frédérick Samson, 29 août 2023

Le service Power BI ne conserve pas l’historique des modifications aux artefacts des espaces de travail (ex. : rapports). Mais plusieurs analystes, habitués à l’intégration Microsoft Office et SharePoint, ont exprimé, à raison, le désir d’avoir accès à cet historique. Un exemple : une modification cause des problèmes et l’analyste aimerait revenir à la version précédente.

Quant à eux, les programmeurs sont habitués au concept de contrôle de source lorsqu’ils développent des applications. Cela leur permet de consulter les changements survenus dans le code.

Et les administrateurs/responsables du support en production aiment bien avoir une traçabilité sur ce qui a changé (quoi, quand, par qui, etc.).

Avec l’intégration Git, Microsoft tente de régler cette situation et de satisfaire tous ces groupes d’utilisateurs!

Pourquoi le format de fichier de Power BI Desktop complique le contrôle de versions?

Un PBIX contient à la fois la définition de Power Query (M), du jeu de données (cube tabulaire), la partie visuelle (rapport) et les données. Cela donne une archive Zip avec une série de dossiers et de fichiers. Donc actuellement, les organisations qui archivent les PBIX stockent les données dans leur outil de contrôle de source ou dans SharePoint, ce qui n’est pas idéal (PRP) et volumineux. Ou bien ils doivent convertir le PBIX en PBIT afin d’exclure les données. Ou encore utiliser un outil tiers pour extraire une version textuelle (ex. *.BIM ou TMDL pour un jeu de données), ce qui complique le processus et l’adhésion par les parties prenantes.

Voici ce que vous devez savoir sur cette nouveauté

  1. Je vous conseille d’expérimenter cette fonctionnalité, mais d’attendre avant de systématiser son utilisation car le format textuel sauvegardé dans Git va changer dans le futur et sera plus facile à comparer que le format Json actuel.

J’ai déjà traité du TMDL dans un autre billet.

2. Pour l’instant, seuls les repos Git dans Azure DevOps sont supportés. J’ai vu dans les commentaires de cet article que GitHub était dans les plans.

3. La connexion au repo Git Azure DevOps se fait dans les paramètres de l’espace de travail.

4. Une capacité Premium ou Fabric est requise pour pouvoir utiliser l’expérience (UX).

Voici un aperçu de l’interface graphique après avoir effectué une modification dans Power BI Desktop et republié dans le service.

5. La synchronisation est possible dans les deux directions!

L’exemple précédent montrait une synchronisation du service Power BI vers Azure DevOps Git. Il est possible de faire l’inverse : modifier le repo Git, puis synchroniser vers le service Power BI.

Le service Power BI détecte un changement dans le repo Git et permet de synchroniser l’espace de travail avec les changements (impossible d’effectuer une sélection, tous les changements seront synchronisés).

6. Si vous avez uniquement des licences Power BI Pro, Microsoft ne vous a pas oublié : vous pouvez utiliser ce qu’ils appellent « Power BI Desktop Developer Mode »

Avec la dernière version de Power BI Desktop, une fois l’option en préversion activée, vous pouvez sauvegarder localement vos PBIX en « Power BI project files (*.pbip) ».

Dans ce mode de fonctionnement, c’est à vous de soumettre vos modifications au repo Git dans Azure DevOps. Microsoft suggère l’utilisation de Visual Studio Code, un outil gratuit qui facilite l’édition et la comparaison textuelle de ces fichiers et supporte nativement l’intégration Git.

Une fois le repo Git à jour avec les changements, sans une capacité Premium ou Fabric, vous devrez utiliser les APIs REST (à venir), afin de synchroniser un espace de travail Power BI.

Pour l’instant, dès que l’on utilise ce mode, Power BI Desktop ne permet plus la publication dans le service. Toutefois, c’est prévu à plus ou moins court terme.

7. Comme toute fonctionnalité Microsoft, il faut toujours consulter les limitations actuelles afin de s’assurer que c’est compatible avec les exigences de votre projet.

8. Seuls certains artefacts sont supportés pour l’instant.