Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Mesures DAX de base pour les KPI | Écriture de mesures DAX
Modélisation de Données Excel

Mesures DAX de base pour les KPI

Glissez pour afficher le menu

Avant d'ajouter les nouvelles mesures, il est utile de comprendre la structure de ce qui a déjà été construit. Total Sales et Transaction Count sont des mesures de base — chacune calcule une valeur directement à partir des données sans dépendance à d'autres mesures. Total Quantity et Distinct Customers sont également des mesures de base. La seule mesure composite dans ce chapitre est Average Order Value — elle fait référence à Total Sales et Transaction Count par leur nom au lieu de répéter leurs calculs.

Distinct Customers := DISTINCTCOUNT(Sales[Customer ID])

Compte le nombre de valeurs uniques de Customer ID dans la table Sales — et non dans la table de dimension Customers. Cela garantit que seuls les clients ayant une activité de vente réelle dans le contexte de filtre actuel sont comptés. Un client présent dans la table Customers mais n'ayant passé aucune commande est correctement exclu.

Average Order Value := DIVIDE([Total Sales], [Transaction Count])

Divise Total Sales par Transaction Count en utilisant la fonction DIVIDE plutôt que l'opérateur /. Fait référence aux deux mesures de base par leur nom en utilisant des crochets sans préfixe de table — le signal DAX qu'une mesure (et non une colonne) est référencée.

Note
Remarque

DIVIDE renvoie une valeur vide lorsque le dénominateur est égal à zéro ; l'opérateur slash / renverrait une erreur.

Total Quantity := SUM(Sales[Quantity])

Fait la somme de la colonne Quantity — le nombre d'unités vendues plutôt que le chiffre d'affaires généré. Le chiffre d'affaires et la quantité évoluent souvent ensemble, mais pas toujours. Suivre les deux permet d'identifier rapidement les périodes avec de nombreuses transactions de faible valeur par rapport à celles avec moins de transactions de forte valeur.

DISTINCTCOUNT vs. COUNTROWS

Utiliser COUNTROWS pour compter les clients donne un résultat incorrect dès qu'un client a passé plus d'une commande. Pour un client ayant passé trois commandes, COUNTROWS compte trois clients. DISTINCTCOUNT en compte un seul. Pour toute question formulée comme « combien de clients », il faut toujours utiliser DISTINCTCOUNT.

Référencement

DAX utilise un signal visuel cohérent pour distinguer les colonnes et les mesures dans une formule :

Validation des mesures avant utilisation

Après avoir écrit les cinq mesures, l'étape de validation recommandée consiste à les ajouter toutes dans la zone Valeurs d'un tableau croisé dynamique, sans aucune répartition par ligne ou colonne dans un premier temps. La ligne de total général affiche les cinq mesures calculées sur l'ensemble du jeu de données. Vérifiez si chaque valeur est plausible — si la quantité totale est inférieure au nombre de transactions, par exemple, il y a probablement une erreur. Ce n'est qu'après avoir validé la cohérence des totaux que vous pouvez ajouter des lignes et des segments.

  1. Insérer un tableau croisé dynamique à partir de la table Sales, ajouter au modèle de données ;
  2. Glisser les cinq mesures dans la zone Valeurs — sans lignes ni colonnes pour l'instant ;
  3. Vérifier que chaque total général est cohérent avec votre connaissance des données ;
  4. Ajouter la région depuis Customers dans les lignes — vérifier que chaque région affiche une répartition raisonnable ;
  5. Ajouter un segment Catégorie depuis Products — confirmer que les cinq mesures réagissent correctement au filtrage.

Tâche

Dans cette tâche, vous allez ajouter trois nouvelles mesures pour compléter la boîte à outils KPI de cinq mesures, puis valider les cinq mesures dans un tableau croisé dynamique multidimensionnel.

Étape 1 — Ajouter les trois mesures restantes

  • Ouvrir le classeur.
  • Aller à Power Pivot → Gérer → Vue des données → onglet Ventes.
  • Dans la zone de calcul, ajouter exactement les trois mesures suivantes telles qu’écrites :

Distinct Customers := DISTINCTCOUNT(Sales[CustomerID])

Average Order Value := DIVIDE([Total Sales], [Transaction Count])

Total Quantity := SUM(Sales[Quantity])

  • Appuyer sur Entrée après chacune.
  • Les trois mesures doivent apparaître dans la zone de calcul avec une valeur calculée affichée sous le nom de la mesure.

Une fois terminé, votre zone de calcul doit contenir exactement cinq mesures :

  • Total Sales.
  • Transaction Count.
  • Distinct Customers.
  • Average Order Value.
  • Total Quantity.

Étape 2 — Valider dans un tableau croisé dynamique

  • Retourner dans Excel. Insérer un tableau croisé dynamique à partir du modèle de données de ce classeur.

Construire la disposition suivante :

  • Lignes : MonthName de la table Dates.
  • Valeurs : les cinq mesures (Total Sales, Transaction Count, Distinct Customers, Average Order Value et Total Quantity, dans cet ordre).
  • Segment : Category de la table Products.

Une fois construit, répondez aux questions suivantes en lisant le tableau croisé dynamique.

  1. Quel est le total général des Total Sales pour tous les mois et catégories ?
  2. Quel mois a la valeur la plus élevée pour Average Order Value ?
  3. Lorsque vous filtrez le segment sur Bikes, le nombre de Distinct Customers change-t-il ?
  4. Que cela vous indique-t-il sur le comportement des clients pour cette catégorie ?
  5. Lorsque vous passez le segment de Bikes à Accessories, la valeur de Total Quantity augmente-t-elle ou diminue-t-elle ?
  6. Que cela suggère-t-il sur la différence entre les deux catégories ?
question mark

Un collègue souhaite compter combien de clients ont passé des commandes en janvier. Il écrit la mesure suivante :

January Customers := COUNTROWS(Sales)

Quel est le problème avec cette mesure, et par quoi doit-elle être remplacée ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 4. Chapitre 2
some-alt