Dans Power BI, une mesure est une formule mathématique dynamique qui s'évalue en temps réel en fonction du contexte des filtres actifs sur votre rapport (sélections dans les trancheuses, clic sur un segment de graphique, ligne d'une matrice).
Contrairement à une colonne calculée, une mesure ne consomme aucun octet d'espace disque ou de mémoire RAM permanente : elle est recalculée à la vitesse de l'éclair par le moteur VertiPaq uniquement lorsque l'utilisateur interagit avec l'écran.
Dans cette leçon, nous découvrons les règles de conception des mesures explicites et les fonctions reines du quotidien.
🏛️ La Règle d'Or : Bannir les Mesures Implicites#
Lorsque vous glissez une colonne numérique brute (ex: SalesAmount) directement dans une carte ou un graphique, Power BI crée une mesure implicite en appliquant une somme par défaut (Somme de SalesAmount).
[!WARNING] Pourquoi les professionnels bannissent-ils les mesures implicites ?
1. Vous ne pouvez pas réutiliser une mesure implicite à l'intérieur d'un calcul plus complexe (ex: marge en pourcentage ou évolution temporelle). 2. Vous ne pouvez pas contrôler précisément son format d'affichage ou documenter sa formule. 3. En cas de migration vers Tabular Editor ou de création de groupes de calcul, les mesures implicites ne sont pas reconnues.Le réflexe d'expert : Créez toujours une mesure explicite pour chaque indicateur numérique de votre entreprise !
📁 Ranger ses Mesures dans une Table Dédiée (_Mesures)#
Pour éviter que vos formules ne soient éparpillées au milieu des dizaines de colonnes de vos tables de faits, créez une table réservée aux mesures :
- Dans le ruban Accueil, cliquez sur Entrer des données.
- Nommez la table
_Mesures(le tiret du bas assure qu'elle apparaîtra tout en haut du volet Données par ordre alphabétique). - Cliquez sur Charger sans saisir de données.
- Créez vos mesures en faisant un clic droit sur
_Mesures> Nouvelle mesure. - Une fois votre première mesure créée, supprimez la colonne vide
Colonne1: l'icône de la table_Mesuresse transforme automatiquement en une icône de calculatrice 🧮 !
1. Les Fonctions d'Agrégation Simples#
Ces fonctions prennent une colonne en argument et agrègent les valeurs visibles selon le contexte de filtre courant :
A. La somme (SUM)#
B. Le comptage de lignes (COUNTROWS)#
Pour savoir combien de commandes ou de lignes de transactions ont été enregistrées :
C. Le comptage de valeurs distinctes (DISTINCTCOUNT)#
Pour compter le nombre de clients réels ayant acheté (sans compter deux fois le même client) :
D. La division sécurisée (DIVIDE)#
En mathématiques comme en informatique, diviser par zéro provoque un crash.
Bannissez la barre oblique / et utilisez DIVIDE() : elle gère automatiquement les dénominateurs nuls ou vides en renvoyant BLANK() (ou une valeur alternative) sans lever d'erreur :
Panier Moyen =
DIVIDE(
[Montant Ventes],
[Nb Commandes],
0 -- Valeur de remplacement si aucune commande
)
⚡ Les Fonctions Itératrices : La Famille des "X" (SUMX, AVERAGEX)#
C'est ici que commence la véritable puissance du DAX.
Que faire si votre table Fact_Ventes ne comporte pas de colonne MontantTotal, mais seulement Quantite et PrixUnitaire ? Vous ne pouvez pas écrire SUM(Quantite * PrixUnitaire), car SUM n'accepte qu'une seule colonne !
La solution consiste à utiliser un itérateur, reconnaissable à la lettre X finale :
┌────────────────────────────────────────────────────────┐
│ FONCTIONNEMENT DE SUMX : │
│ 1. Parcourt la table ligne par ligne (Row Context) │
│ 2. Évalue pour chaque ligne : Quantite * PrixUnitaire │
│ 3. Additionne les résultats individuels │
│ 4. Renvoie le total scalaire │
└────────────────────────────────────────────────────────┘
Chiffre Affaires Total =
SUMX(
Fact_Ventes,
Fact_Ventes[Quantite] * Fact_Ventes[PrixUnitaire] * (1 - Fact_Ventes[TauxRemise])
)
Coût Total =
SUMX(
Fact_Ventes,
Fact_Ventes[Quantite] * RELATED(Dim_Produits[CoutUnitaire])
)
[!TIP] Notez l'utilisation de
RELATED()à l'intérieur deSUMX: l'itérateur est capable d'aller chercher le coût unitaire situé dans la table de dimensionDim_Produitspour chaque ligne de la tableFact_Ventes!
🎨 Formater vos Mesures#
Une mesure numérique brute est difficile à lire (1458923.4198). Rendez vos indicateurs lisibles :
1. Sélectionnez la mesure dans le volet Données.
2. Dans le ruban supérieur Outils de mesure :
- Choisissez le format Devise ($ ou €) ou Pourcentage (%).
- Fixez le nombre de décimales (2 pour les devises, 1 pour les pourcentages, 0 pour les quantités entières).
Vos mesures de base sont en place. Mais que faire si vous devez calculer le chiffre d'affaires uniquement pour la France, ou comparer les ventes d'une catégorie par rapport à l'ensemble du magasin ? C'est le rôle de la fonction reine du DAX : CALCULATE, que nous explorons dans la prochaine leçon !
Commentaires