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 |
|---|---|---|
| Format | Binaire (opaque) | Texte / JSON (lisible) |
| Contrôle de version | Impossible ou très limité | Natif avec Git |
| Travail en équipe | Difficile (conflits de fusion) | Collaboratif et structuré |
| Lisibilité du code DAX | Oui (vue TMDL) | Oui (fichiers .tmdl) |
| Intégration CI/CD | Absente | Possible via pipelines |
| Taille du fichier | Peut être volumineux | Allé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.
| Outil | Rôle | Téléchargement |
|---|---|---|
| Visual Studio Code | Éditeur de code gratuit | code.visualstudio.com |
| Extension TMDL | Support natif des fichiers PBIP | VS Code Marketplace |
| GitHub Copilot | IA intégrée (plan Free disponible) | github.com/copilot |
Cas d’usage concrets
| Profil | Usage recommandé |
|---|---|
| Développeur solo | Versionner son travail, revenir en arrière facilement |
| Équipe BI | Partager un dépôt Git, travailler en parallèle sans conflit |
| Formateur | Distribuer les fichiers sources des exercices sur GitHub |
| Entreprise | Déployer via pipeline CI/CD, industrialiser la livraison des rapports |
| Consultant | Livrer 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.
| Situation | Format conseillé |
|---|---|
| Rapport simple, usage personnel | .pbix |
| Projet collaboratif, environnement structuré | .pbip |
| Déploiement en production via pipeline | .pbip obligatoire |
🌐 Aller plus loin
- Présentation du format Power BI Project (Microsoft Learn)
- Intégration Git avec Fabric
- Tabular Editor et Best Practice Analyzer
- Git for Windows
👉 C’est à vous !
- Activez le format PBIP dans les options de Power BI Desktop.
- Enregistrez un rapport existant au format
.pbipet 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.
