<aside> <img src="notion://custom_emoji/78174c83-1f3f-4efd-b747-08fa6d83ac8b/29f9c027-182e-8026-9010-007abfc171dc" alt="notion://custom_emoji/78174c83-1f3f-4efd-b747-08fa6d83ac8b/29f9c027-182e-8026-9010-007abfc171dc" width="40px" />
Jean-Louis Maso - Tous droits réservés
</aside>
La plupart des problèmes de performance dans Power BI sont en réalité des problèmes de taille de modèle. Le moteur VertiPaq compresse bien les données en mode Import, jusqu'à 10x, mais aucun algorithme ne peut compenser un modèle qui charge des colonnes, des lignes ou des hiérarchies de dates inutiles.
Akshay Mishra démontre dans un article de la publication Microsoft Power BI sur Medium (8 février 2025, récompensé Must-Read par la Power BI Masterclass Community) comment 5 modifications simples font passer un modèle de 169 Mo à environ 1 Mo, soit une réduction de 99 %. Chaque étape est mesurée avec DAX Studio et VertiPaq Analyzer.
Source : Akshay Mishra — 5 Simple Changes in Power BI to Reduce Data Model Size by 99%, Medium / Microsoft Power BI, 8 février 2025.
Lien : https://medium.com/microsoft-power-bi/5-simple-changes-in-power-bi-to-reduce-data-model-size-by-99-fb1d9b6f6dce
| Étape | Action | Taille après | Gain |
|---|---|---|---|
| Départ | Modèle brut | 169 Mo | — |
| 1 | Désactiver Auto Date/Time | 109 Mo | − 60 Mo (− 36 %) |
| 2 | Supprimer les colonnes inutiles | 36,6 Mo | − 72 Mo (− 66 %) |
| 3 | Filtrer les lignes inutiles | 36,5 Mo | Gain marginal |
| 4 | Corriger les types de données | 36,5 Mo | Gain marginal |
| 5 | Agréger les données | ~ 1 Mo | − 35 Mo (− 97 %) |
Par défaut, Power BI génère automatiquement une table de dates cachée pour chaque colonne de type date. Ces tables masquées consomment beaucoup d'espace sans aucune valeur ajoutée si une table Calendrier personnalisée existe déjà dans le modèle.
Où désactiver cette option :
Fichier → Options et paramètres → Options → Chargement des données → décocher Date/heure automatique
Résultat mesuré : 169 Mo → 109 Mo (− 36 %)
Les colonnes à haute cardinalité comme un champ RowID ou un identifiant unique par ligne sont particulièrement coûteuses : VertiPaq ne peut pas les compresser efficacement car chaque valeur est différente. Supprimer ces colonnes dans Power Query avant le chargement est la règle de base.
Principe général :