PBIP, le mode projet de Power BI

Par défaut, Power BI Desktop enregistre les rapports au format .pbix, un fichier binaire unique qui embarque tout : données, modèle, mesures DAX, visuels et mise en page. Pratique pour débuter, mais vite limité dès que le projet grandit ou s’ouvre à plusieurs contributeurs.

Le format PBIP (Power BI Project) change la donne en décompactant ce fichier binaire en une arborescence de fichiers au format texte lisibles, modifiables et versionnables.

PBIX vs PBIP : quelle différence ?
Critère.pbix.pbip
FormatBinaire (opaque)Texte / JSON (lisible)
Contrôle de versionImpossible ou très limitéNatif avec Git
Travail en équipeDifficile (conflits de fusion)Collaboratif et structuré
Lisibilité du code DAXOui
(vue TMDL)
Oui (fichiers .tmdl)
Intégration CI/CDAbsentePossible via pipelines
Taille du fichierPeut être volumineuxAllégé (données non incluses)

💡 Le format PBIP ne stocke pas les données importées. Le fichier reste léger. Les données sont rechargées à l’ouverture ou à l’actualisation.

Structure d’un projet PBIP
Pour enregistrer un fichier au format PBIP :
  • Activer le format PBIP dans Power BI Desktop : Fichier → Options → Fonctionnalités en préversion → Stocker le fichier au format Power BI Project.
  • Enregistrer le fichier au format PBIP
À l’enregistrement, Power BI génère une arborescence de ce type :
MonRapport.pbip
MonRapport.Report/
    ├── definition.pbir
    ├── report.json
    └── pages/
        └── Page1/
            └── visuals/
SemanticModel.SemanticModel/
    ├── definition.bism
    ├── model.bim  (ou dossier .tmdl)
    └── tables/
        ├── Ventes.tmdl
        ├── Clients.tmdl
        └── Mesures.tmdl
Trois niveaux à retenir :
  • .pbip — fichier de point d’entrée du projet (remplace le .pbix)
  • *.Report/ — contient la définition des pages, des visuels et des interactions
  • *.SemanticModel/ — contient le modèle de données, les tables, les relations et toutes les mesures DAX
Les avantages du format PBIP
1. Lisibilité et maintenabilité du code DAX

Chaque table et chaque groupe de mesures génère un fichier .tmdl (Tabular Model Definition Language) en texte brut. Une mesure DAX ressemble à ceci dans le fichier :

measure [CA Total] = SUM(Ventes[Montant])
    formatString: "#,##0 €"
    displayFolder: "Chiffre d'affaires"

Résultat : le code DAX devient auditable, comparable et documentable comme n’importe quel code source.

2. Contrôle de version avec Git

Le format texte rend le projet directement compatible avec Git (GitHub, Azure DevOps, GitLab…).

Ce que Git apporte concrètement :

  • Historique complet de chaque modification (qui, quoi, quand)
  • Retour arrière vers n’importe quelle version précédente
  • Branches pour tester des évolutions sans toucher à la version stable
  • Pull requests pour valider les modifications avant intégration
  • Comparaison visuelle des différences entre deux versions d’une mesure DAX

💡 Azure DevOps propose une intégration native avec les espaces de travail Fabric, ce qui permet de synchroniser directement un dépôt Git avec un rapport publié.

3. Collaboration en équipe

Avec un dépôt Git partagé, plusieurs développeurs travaillent simultanément sur le même projet :

  • L’un modifie les mesures DAX dans Mesures.tmdl
  • L’autre retravaille la mise en page dans report.json
  • Un troisième ajoute une nouvelle table dans le modèle sémantique

Les modifications sont fusionnées proprement, sans écraser le travail des autres — ce qui est impossible avec un fichier .pbix partagé sur SharePoint.

4. Intégration dans un pipeline CI/CD

Le format PBIP s’intègre dans des pipelines d’automatisation (Azure DevOps, GitHub Actions) pour :

  • Valider automatiquement les mesures DAX avant déploiement
  • Déployer le rapport en recette puis en production sans intervention manuelle
  • Appliquer des règles de qualité via Best Practice Analyzer de Tabular Editor
5. VS Code + GitHub Copilot : l’environnement de développement complet

Le format PBIP ouvre une autre possibilité majeure : éditer les fichiers .tmdl directement dans Visual Studio Code, l’éditeur de code gratuit de Microsoft, assisté par l’IA GitHub Copilot.

Deux extensions à installer dans VS Code :

  • TMDL (par Microsoft) — coloration syntaxique DAX et Power Query, autocomplétion, détection d’erreurs en temps réel, navigation dans l’arborescence du modèle
  • GitHub Copilot — assistance IA pour rédiger, corriger et optimiser les mesures DAX directement dans les fichiers .tmdl

💡 GitHub Copilot est gratuit dans sa version Free : jusqu’à 2 000 complétions de code et 50 interactions chat par mois, sans carte bancaire, avec un simple compte GitHub. Voir les plans Copilot →

Cas d’usage concret — optimisation d’une mesure DAX avec Copilot :

Vous ouvrez le fichier Mesures.tmdl dans VS Code. Votre mesure existante est lente sur un grand volume de données :

measure [CA YTD] =
    CALCULATE(
        SUM(Ventes[Montant]),
        DATESYTD(Calendrier[Date])
    )

Vous tapez en commentaire au-dessus : // optimise cette mesure pour un modèle avec 5 millions de lignes. Copilot propose immédiatement une version utilisant TOTALYTD avec variable intermédiaire pour éviter les recalculs :

measure [CA YTD] =
    VAR _dates = DATESYTD(Calendrier[Date])
    RETURN
        CALCULATE(
            SUM(Ventes[Montant]),
            _dates
        )

Vous acceptez la suggestion, enregistrez le fichier, redémarrez Power BI Desktop : la mesure est mise à jour sans avoir ouvert la fenêtre de l’éditeur DAX natif.

OutilRôleTéléchargement
Visual Studio CodeÉditeur de code gratuitcode.visualstudio.com
Extension TMDLSupport natif des fichiers PBIPVS Code Marketplace
GitHub CopilotIA intégrée (plan Free disponible)github.com/copilot
Cas d’usage concrets
ProfilUsage recommandé
Développeur soloVersionner son travail, revenir en arrière facilement
Équipe BIPartager un dépôt Git, travailler en parallèle sans conflit
FormateurDistribuer les fichiers sources des exercices sur GitHub
EntrepriseDéployer via pipeline CI/CD, industrialiser la livraison des rapports
ConsultantLivrer un projet documenté, auditable et maintenable par le client
Prérequis et points de vigilance
  • Power BI Desktop version récente (fonctionnalité en préversion, activation manuelle requise)
  • Git installé localement (Git for Windows recommandé)
  • Les données importées ne sont pas stockées dans le projet PBIP — prévoir une source accessible au rechargement
  • Le format PBIP est encore en évolution active chez Microsoft : certaines fonctionnalités avancées restent à venir
En résumé

Le format PBIP transforme Power BI Desktop en un véritable outil de développement professionnel. Il convient dès que le projet dépasse le cadre individuel ou le prototype ponctuel.

SituationFormat conseillé
Rapport simple, usage personnel.pbix
Projet collaboratif, environnement structuré.pbip
Déploiement en production via pipeline.pbip obligatoire

🌐 Aller plus loin
👉 C’est à vous !
  • Activez le format PBIP dans les options de Power BI Desktop.
  • Enregistrez un rapport existant au format .pbip et explorez l’arborescence générée.
  • Initialisez un dépôt Git local sur ce dossier avec git init.
  • Effectuez une modification sur une mesure DAX et observez le git diff.
  • Soumettez un script TMDL à une IA et demandez lui des propositions d’analyses complémentaires ou des ajouts de mesures. Remplacez ou modifiez le script.