Créer des mesures

S’applique à : SQL Server 2019 et versions ultérieures, Analysis Services Azure Analysis Services Fabric/Power BI Premium

Dans cette leçon, vous allez créer des mesures à inclure dans votre modèle. Une mesure est un calcul créé à l’aide d’une formule DAX, comme les colonnes calculées que vous avez créées. Toutefois, contrairement aux colonnes calculées, les mesures sont évaluées sur la base d’un filtre sélectionné par l’utilisateur. Exemple : une colonne ou un slicer spécifiques ajoutés au champ Étiquettes de lignes d’un tableau croisé dynamique. Pour chaque cellule du filtre, une valeur est alors calculée par la mesure appliquée. Les mesures sont des calculs puissants et flexibles que vous pouvez inclure dans quasiment tous les modèles tabulaires, afin d’effectuer des calculs dynamiques à partir de données numériques. Pour plus d’informations, consultez Mesures.

Pour créer des mesures, utilisez la Grille de mesures. Par défaut, chaque table comprend une grille de mesures vide. Toutefois, la plupart du temps, vous n’êtes pas obligé de créer des mesures pour chaque table. La grille de mesures s'affiche sous une table au sein du générateur de modèles dans la vue de données. Pour afficher ou masquer la grille de mesures d’une table, cliquez sur le menu Table, puis sur Afficher la grille de mesures.

Vous pouvez créer une mesure en cliquant sur une cellule vide de la grille de mesures, puis en saisissant une formule DAX dans la barre de formule. Lorsque vous cliquez sur ENTRÉE pour finaliser la formule, la mesure s’affiche dans la cellule. Vous pouvez également créer des mesures à l’aide d’une fonction d’agrégation standard en cliquant sur une colonne, puis en cliquant sur le bouton Somme automatique () de la barre d’outils. Les mesures créées à l’aide de la fonction Somme automatique s’affichent dans la cellule de la grille de mesures, juste en dessous de la colonne. Cependant, elles peuvent être déplacées.

Dans cette leçon, vous allez créer des mesures en entrant une formule DAX dans la barre de formule et en utilisant la fonction Somme automatique.

Durée estimée de cette leçon : 30 minutes

Prérequis

Cet article fait partie d’un didacticiel de modélisation tabulaire, qui doit être suivi dans l’ordre prévu. Avant d’effectuer les tâches de cette leçon, vous devez avoir terminé la leçon précédente : Leçon 5 : Créer des colonnes calculées.

Créer des mesures

Pour créer une mesure DaysCurrentQuarterToDate dans la table DimDate

  1. Dans le Concepteur de modèles, cliquez sur la table DimDate.

  2. Dans la grille de mesures, cliquez sur la cellule vide située en haut à gauche.

  3. Dans la barre de formule, tapez la formule suivante :

    DaysCurrentQuarterToDate:=COUNTROWS( DATESQTD( 'DimDate'[Date])) 
    

    Contrairement aux colonnes calculées, avec les formules de mesure, il est possible de saisir le nom de la mesure, suivi d’un signe deux-points, puis de l’expression de la formule.

    Notez que la cellule en haut à gauche contient désormais un nom de mesure, DaysCurrentQuarterToDate, suivi d’un résultat. Le résultat n’est à ce stade pas pertinent car aucun filtre utilisateur n’a été appliqué.

    Capture d’écran du concepteur de modèles avec l’option Days Current Quarter To Date : 92 mise en évidence.

Pour créer une mesure DaysInCurrentQuarter dans la table DimDate

  1. Vérifiez que la table DimDate est toujours active dans le Concepteur de modèles, puis, dans la grille de mesures, cliquez sur la cellule vide située sous la mesure que vous avez créée.

  2. Dans la barre de formule, tapez la formule suivante :

    DaysInCurrentQuarter:=COUNTROWS( DATESBETWEEN( 'DimDate'[Date], STARTOFQUARTER( LASTDATE('DimDate'[Date])), ENDOFQUARTER('DimDate'[Date])))
    

    Lors de la création d’un ratio de comparaison entre une période incomplète et la période précédente, la formule doit calculer la proportion de la période qui s’est écoulée et la comparer à la même proportion dans la période précédente. Dans ce cas, [DaysCurrentQuarterToDate]/[DaysInCurrentQuarter] donne la durée écoulée de la période actuelle.

Pour créer une mesure InternetDistinctCountSalesOrder dans la table FactInternetSales

  1. Cliquez sur la table FactInternetSales.

  2. Cliquez sur l’en-tête de colonne SalesOrderNumber.

  3. Dans la barre d’outils, cliquez sur la flèche vers le bas en regard du bouton Somme automatique (), puis sélectionnez DistinctCount.

    La fonction Somme automatique crée automatiquement une mesure pour la colonne sélectionnée à l’aide de la formule d’agrégation standard DistinctCount.

    Capture d’écran du concepteur de modèles avec le numéro de commande client de nombre distinct : 27659 mis en évidence.

  4. Dans la grille de mesures, cliquez sur la nouvelle mesure, puis, dans la fenêtre Propriétés, dans Nom de la mesure, renommez la mesure ainsi : InternetDistinctCountSalesOrder.

Pour créer des mesures supplémentaires dans la table FactInternetSales

  1. À l’aide de la fonction Somme automatique, créez et nommez les mesures suivantes :

    Colonne Nom de la mesure Somme automatique (∑) Formule
    SalesOrderLineNumber InternetOrderLinesCount Nombre =COUNTA([SalesOrderLineNumber])
    OrderQuantity InternetTotalUnits Sum =SUM([OrderQuantity])
    DiscountAmount InternetTotalDiscountAmount Sum =SUM([DiscountAmount])
    TotalProductCost InternetTotalProductCost Sum =SUM([TotalProductCost])
    SalesAmount InternetTotalSales Sum =SUM([SalesAmount])
    Margin InternetTotalMargin Sum =SUM([Margin])
    TaxAmt InternetTotalTaxAmt Sum =SUM([TaxAmt])
    Freight InternetTotalFreight Sum =SUM([Freight])
  2. En cliquant sur une cellule vide dans la grille de mesures et en utilisant la barre de formule, créez les mesures personnalisées suivantes dans l’ordre :

    InternetPreviousQuarterMargin:=CALCULATE([InternetTotalMargin],PREVIOUSQUARTER('DimDate'[Date]))
    
    InternetCurrentQuarterMargin:=TOTALQTD([InternetTotalMargin],'DimDate'[Date])
    
    InternetPreviousQuarterMarginProportionToQTD:=[InternetPreviousQuarterMargin]*([DaysCurrentQuarterToDate]/[DaysInCurrentQuarter])
    
    InternetPreviousQuarterSales:=CALCULATE([InternetTotalSales],PREVIOUSQUARTER('DimDate'[Date]))
    
    InternetCurrentQuarterSales:=TOTALQTD([InternetTotalSales],'DimDate'[Date])
    
    InternetPreviousQuarterSalesProportionToQTD:=[InternetPreviousQuarterSales]*([DaysCurrentQuarterToDate]/[DaysInCurrentQuarter])
    

Les mesures créées pour la table FactInternetSales sont utilisées pour analyser des données financières critiques telles que les ventes, les coûts et la marge bénéficiaire pour les éléments définis par le filtre sélectionné par l’utilisateur.

Maintenant que vous avez créé un ensemble de mesures, consultez Mesures dans le modèle tabulaire Explorer. Vous verrez toutes vos nouvelles mesures. Cliquez avec le bouton droit sur une mesure pour voir les actions que vous pouvez désormais effectuer sur une mesure.

Étape suivante

Leçon 7 : Créer des indicateurs de performance clés