Découvrir le contexte de ligne
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 (Exercice 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]
renvoie la valeur de colonne pour cette ligne. Vous connaissez peut-être ce concept pour avoir utilisé des formules dans des tableaux Excel.
Cependant, 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
ouRELATEDTABLE
. La fonctionRELATED
récupère la valeur du côté un de la relation, tandis que la fonctionRELATEDTABLE
récupère les valeurs du côté plusieurs. La fonctionRELATEDTABLE
renvoie un objet de table. - Lorsque les tables ne sont pas liées, vous pouvez utiliser la fonction DAX
LOOKUPVALUE
.
En général, essayez d’utiliser la fonction RELATED
dans la mesure du possible. Elle fonctionne généralement mieux 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 d’une 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. Cependant, comme la colonne List Price (Grille tarifaire) appartient à la table Product (Produit), la fonction RELATED
est requise afin de récupérer la valeur de grille tarifaire pour le produit en solde.
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.