En savoir plus sur le contexte de ligne

Effectué

Maintenant que vous avez créé des colonnes calculées, découvrez comment leurs formules sont évaluées.

La formule d’une colonne calculée est évaluée pour chaque ligne de table. En outre, elle est évaluée dans le contexte de ligne, c’est-à-dire la ligne actuelle. Prenez en compte la définition de colonne calculée Due Fiscal Year (Année fiscale d’échéance) :

Due Fiscal Year =
"FY"
    & YEAR('Due Date'[Due Date])
        + IF(
            MONTH('Due Date'[Due Date]) <= 6,
            1
        )

Lorsque la formule est évaluée pour chaque ligne, la référence de colonne 'Due Date'[Due Date] retourne la valeur de colonne pour cette ligne. Vous constaterez que Microsoft Excel applique le même concept que celui utilisé les formules dans des tables Excel.

Toutefois, le contexte de ligne ne s’étend pas au-delà de la table. Si votre formule doit faire référence à des colonnes d’autres tables, vous avez deux possibilités :

  • Si les tables sont liées, directement ou indirectement, vous pouvez utiliser la fonction DAX RELATED ou RELATEDTABLE. La fonction RELATED récupère la valeur de la partie « un » de la relation, tandis que la fonction RELATEDTABLE récupère les valeurs de la partie « plusieurs ». La fonction RELATEDTABLE retourne un objet de table.
  • Si les tables ne sont pas associées, vous pouvez utiliser la fonction DAX LOOKUPVALUE.

En général, essayez d’utiliser la fonction RELATED dans la mesure du possible. Elle est généralement plus performante que la fonction LOOKUPVALUE en raison de la façon dont les données de relation et de colonne sont stockées et indexées.

Ajoutez maintenant la définition de colonne calculée suivante à la table Sales (Ventes) :

Discount Amount =
(
    Sales[Order Quantity]
        * RELATED('Product'[List Price])
) - Sales[Sales Amount]

La définition de colonne calculée ajoute la colonne Discount Amount (Montant de la remise) à la table Sales (Ventes). Power BI évalue la formule de colonne calculée pour chaque ligne de la table Sales (Ventes). Les valeurs des colonnes Order Quantity (Quantité de la commande) et Sales Amount (Montant des ventes) sont extraites dans le contexte de ligne. Toutefois, étant donné que la colonne List Price (Prix catalogue) appartient à la table Product (Produit), la fonction RELATED est nécessaire pour récupérer la valeur du prix catalogue pour le produit de la vente.

Le contexte de ligne est utilisé lorsque des formules de colonnes calculées sont évaluées. Il est également employé quand une classe de fonctions, appelée fonctions d’itérateur, est utilisée. Les fonctions d’itérateur vous permettent de créer des résumés sophistiqués. Les fonctions d’itérateur sont décrites dans un module ultérieur.