Leçon 8 / 10 — Chapitre 7: DAX : CALCULATE et le contexte de filtre
RELATED et RELATEDTABLE
Ces deux fonctions traversent une relation à l'intérieur d'une expression.
RELATED( AutreTable[Colonne] ) s'utilise dans un contexte de ligne (colonne calculée sur les faits, ou itérateur) pour aller chercher une valeur du côté « 1 ». Depuis une ligne de Ventes, RELATED( Produits[Prix catalogue] ) ramène le prix catalogue du produit de cette ligne. On l'emploie souvent dans un SUMX : SUMX( Ventes, Ventes[Quantité] * RELATED( Produits[Prix catalogue] ) ).
RELATEDTABLE( AutreTable ) fait l'inverse : depuis une ligne du côté « 1 » (un produit), elle renvoie la table des lignes reliées du côté « * » (toutes les ventes de ce produit). Utile dans un itérateur sur la dimension : SUMX( Produits, COUNTROWS( RELATEDTABLE( Ventes ) ) ).
Sens à retenir :
RELATED: du côté « * » vers le côté « 1 » (une valeur).RELATEDTABLE: du côté « 1 » vers le côté « * » (plusieurs lignes).
Quand ce n'est pas nécessaire : dans une mesure normale, une agrégation sur Ventes « voit » déjà les filtres venus de Produits via la relation. RELATED sert surtout en contexte de ligne, où la relation ne se traverse pas toute seule.
À retenir
RELATED(col): contexte de ligne, va chercher une valeur du côté « 1 ».RELATEDTABLE(table): va chercher les lignes reliées du côté « * ».- Dans une mesure agrégée classique, la relation se traverse sans
RELATED.
À vous de jouer : depuis une ligne de la table de faits Ventes, pour récupérer le prix catalogue du produit correspondant (côté « 1 »), utilise-t-on RELATED ou RELATEDTABLE ?
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 90 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès