M365Con 2027 – conférence en ligne gratuite · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Pourquoi les colonnes calculées dans Power BI dégradent les performances des rapports et alourdissent la mémoire du modèle

By ·

Découvrez pourquoi un usage excessif des colonnes calculées dans Power BI alourdit la mémoire du modèle et dégrade les performances des rapports. Apprenez à optimiser l’architecture de votre modèle de données.

Automatically translated with AI from the original post. Read the English original

Cover: Power BI Calculated Columns vs Measures - Simply Explained

Une utilisation inappropriée des colonnes calculées dans Power BI peut alourdir discrètement la mémoire de votre modèle de données et ralentir l’affichage des rapports. Contrairement aux mesures dynamiques, les colonnes calculées évaluent et stockent chaque ligne lors de l’actualisation des données, consommant une mémoire vive précieuse et augmentant la charge de traitement dans l’architecture de votre espace de travail.

Points clés

Le coût caché de la mémoire liée à l’évaluation ligne par ligne

Lorsque vous créez un nouveau rapport dans Power BI, il est facile de prendre l’habitude d’utiliser des colonnes calculées pour chaque nouvelle donnée à afficher. Qu’il s’agisse d’une marge bénéficiaire, d’un nom complet obtenu par concaténation ou d’une catégorie pour vos chiffres de ventes, créer une colonne dans votre table semble intuitif. Après tout, vous voyez les résultats immédiatement dans la Vue Données, exactement comme dans une feuille de calcul Excel.

Pourtant, Power BI est un moteur analytique, pas un tableur. Chaque fois que vous créez une colonne calculée, vous demandez au moteur de base de données VertiPaq de calculer cette valeur pour chaque ligne de la table lors du processus d’actualisation des données. Si votre table de ventes compte cinq millions de lignes, votre nouvelle colonne calculée ajoute cinq millions d’entrées distinctes à votre modèle sémantique.

Pire encore, les colonnes calculées perturbent les algorithmes de compression du moteur. VertiPaq s’appuie sur les colonnes à faible cardinalité, c’est-à-dire comportant des valeurs répétitives et dupliquées, pour compresser efficacement les données. Une colonne calculée unique annule souvent cette efficacité de compression et multiplie la mémoire vive nécessaire pour conserver le modèle en mémoire. À mesure que votre modèle grandit, cette surconsommation de mémoire peut rapidement dépasser les limites de capacité de votre espace de travail dans le cloud Microsoft.

Comment le contexte statique limite la souplesse de vos rapports

Au-delà de la consommation de mémoire, les colonnes calculées introduisent d’importantes limites fonctionnelles en raison de la manière dont elles gèrent le contexte d’évaluation. Une colonne calculée fonctionne strictement dans un contexte de ligne. Elle évalue les valeurs de la ligne en cours, indépendamment des interactions de l’utilisateur, des segments ou des sélections de filtrage croisé effectuées sur le canevas du rapport.

Si vous créez une colonne calculée pour signaler les clients à forte valeur ajoutée sur la base d’un seuil fixe, cette classification est figée dans la couche de stockage. Si un utilisateur modifie ensuite un segment pour afficher les données par région ou change une plage de dates, la colonne calculée reste insensible à ces filtres. Elle ne peut pas s’adapter dynamiquement aux états d’agrégation changeants, car sa valeur a déjà été calculée et stockée lors de la dernière actualisation, il y a parfois plusieurs heures.

Cette rigidité contraste nettement avec les mesures, qui calculent les résultats à la volée, uniquement en fonction du contexte de filtre appliqué par l’utilisateur à cet instant précis. Lorsqu’un utilisateur interagit avec un visuel, une mesure se recalcule pour fournir des informations précises et contextualisées, alors qu’une colonne calculée se contente de restituer les données statiques stockées en RAM.

Concevoir des modèles plus légers pour Microsoft Fabric et Azure

Le reporting cloud en entreprise exige une grande efficacité, en particulier lorsqu’il s’agit de passer à l’échelle sur Microsoft Fabric, Azure et des environnements de données Microsoft 365 complexes. Des modèles sémantiques surchargés consomment des ressources d’infrastructure, ralentissent les temps de réponse des requêtes et frustrent les utilisateurs métier qui attendent le chargement de leurs tableaux de bord.

Pour que vos rapports conservent des performances optimales, limitez strictement les colonnes calculées aux cas où les valeurs au niveau de la ligne sont réellement indispensables. Par exemple, vous pouvez utiliser une colonne calculée pour établir une clé de relation entre des tables à partir de plusieurs paramètres, ou lorsque la valeur doit être utilisée dans un segment ou une règle de sécurité au niveau des lignes (RLS), contextes où les mesures ne sont pas autorisées.

Pour tous les autres calculs analytiques, comme les totaux, les moyennes, les ratios et les agrégations conditionnelles, privilégiez les mesures. Les mesures n’occupent aucun espace de stockage, car elles ne conservent aucune valeur dans le modèle. Elles résident en mémoire uniquement sous forme de code et ne s’exécutent que lorsqu’un visuel demande les données. Cette approche préserve la RAM, maximise la compression et permet à votre infrastructure cloud de fonctionner sans accroc.

Conclusion

Comprendre les différences fondamentales entre le stockage au niveau des lignes et l’exécution dynamique des requêtes est essentiel pour quiconque conçoit des solutions d’analyse évolutives. En limitant les colonnes calculées superflues et en misant sur la puissance des mesures dynamiques, vous pouvez améliorer considérablement la rapidité de vos rapports et réduire la consommation de mémoire.

Pour approfondir ce sujet et découvrir une explication complète, sans jargon, du fonctionnement du moteur avec vos formules, écoutez l’épisode complet. Gardez une longueur d’avance sur votre stratégie d’analyse cloud en restant à l’écoute pour de nouveaux conseils d’experts sur le podcast M365 FM.

Questions fréquentes

Pourquoi les colonnes calculées consomment-elles autant de mémoire dans Power BI ?

Les colonnes calculées évaluent chaque ligne lors de l’actualisation des données et conservent ces valeurs de façon permanente dans la RAM du modèle. Cela empêche le moteur VertiPaq de compresser efficacement les données, ce qui entraîne une dérive rapide de la taille du modèle.

Les mesures occupent-elles de l’espace de stockage dans un modèle sémantique Power BI ?

Non, les mesures n’occupent aucun espace de stockage. Elles sont simplement stockées sous forme de définitions de formules dans les métadonnées et ne sont calculées dynamiquement que lorsqu’un visuel ou une interaction de l’utilisateur demande ce calcul.

Quand est-il réellement approprié d’utiliser une colonne calculée ?

Les colonnes calculées doivent être réservées aux cas précis où le contexte de ligne est obligatoire, par exemple pour créer des clés composites pour les relations, appliquer des règles de sécurité au niveau des lignes (RLS) ou alimenter des éléments qui doivent apparaître sous forme de valeurs statiques dans un segment.

Comment les colonnes calculées affectent-elles les performances d’affichage des rapports ?

Un nombre excessif de colonnes calculées augmente la taille globale du modèle sémantique et dégrade la compression des données. Des modèles plus volumineux exigent davantage de mémoire et de puissance de calcul, ce qui finit par ralentir l’exécution des requêtes et le chargement des rapports dans l’ensemble de votre espace de travail.

Power BI Fabric workspace Microsoft Excel Microsoft Fabric Semantic model

Related articles

RSS