Partager via


RELATED

S’applique à :Colonne calculéeTable calculéeMesureCalcul visuel

Retourne une valeur associée provenant d’une autre table.

Syntaxe

RELATED(<column>)  

Paramètres

Terme Définition
colonne Colonne contenant les valeurs à récupérer.

Valeur de retour

Valeur unique associée à la ligne actuelle.

Remarques

  • La fonction RELATED nécessite une relation entre la table actuelle et la table avec les informations associées. Vous spécifiez la colonne contenant les données désirées, et la fonction suit une relation plusieurs-à-un pour extraire la valeur de la colonne spécifiée dans la table associée. En l’absence de relation, vous devez en créer une.

  • Quand la fonction RELATED effectue une recherche, elle examine toutes les valeurs dans la table spécifiée, quels que soient les filtres qui ont pu être appliqués.

  • La fonction RELATED ayant besoin d’un contexte de ligne, elle peut uniquement être utilisée dans une expression de colonne calculée, où le contexte de ligne actuel n’est pas ambigu, ou comme fonction imbriquée dans une expression qui utilise une fonction d’analyse de table. Une fonction d’analyse de table telle que SUMX obtient la valeur de la ligne actuelle, puis analyse une autre table à la recherche d’instances de cette valeur.

  • La fonction RELATED ne peut pas être utilisée pour extraire une colonne dans une relation limitée.

Exemple

Dans l’exemple suivant, la mesure Ventes sur Internet hors États-Unis est créée pour produire un rapport de ventes excluant les ventes aux États-Unis. Pour créer la mesure, la table InternetSales_USD doit être filtrée pour exclure toutes les ventes appartenant aux États-Unis dans la table SalesTerritory. Les États-Unis, en tant que pays, apparaissent 5 fois dans la table SalesTerritory ; une fois pour chacune des régions suivantes : Nord-Ouest, Nord-Est, Centre, Sud-Ouest et Sud-Est.

Pour filtrer les ventes sur Internet et créer la mesure, une première approche peut être d’ajouter une expression de filtre, comme ceci :

FILTER('InternetSales_USD'
, 'InternetSales_USD'[SalesTerritoryKey]<>1 && 'InternetSales_USD'[SalesTerritoryKey]<>2 && 'InternetSales_USD'[SalesTerritoryKey]<>3 && 'InternetSales_USD'[SalesTerritoryKey]<>4 && 'InternetSales_USD'[SalesTerritoryKey]<>5)

Cependant, cette approche n’est pas intuitive, est sujette aux erreurs de frappe et peut ne pas fonctionner si l’une des régions existantes est amenée à être divisée à l’avenir.

Une meilleure approche consiste à utiliser la relation existante entre InternetSales_USD et SalesTerritory et à déclarer explicitement que le pays doit être différent des États-Unis. Pour ce faire, créez une expression de filtre comme suit :

FILTER( 'InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

Cette expression utilise la fonction RELATED pour rechercher la valeur du pays dans la table SalesTerritory, en commençant par la valeur de la colonne clé, SalesTerritoryKey, dans la table InternetSales_USD. Le résultat de la recherche est utilisé par la fonction Filter pour déterminer si la ligne InternetSales_USD est filtrée ou non.

Notes

Si l’exemple ne fonctionne pas, vous devrez peut-être créer une relation entre les tables.

= SUMX(FILTER( 'InternetSales_USD'  
            ,  RELATED('SalesTerritory'[SalesTerritoryCountry])  
               <>"United States"  
             )  
     ,'InternetSales_USD'[SalesAmount_USD])  

La table suivante affiche uniquement les totaux de chaque région pour prouver que l’expression de filtre dans la mesure, Ventes sur Internet hors États-Unis, fonctionne comme prévu.

Row Labels Internet Sales Non USA Internet Sales
Australie 4 999 021,84 $ 4 999 021,84 $
Canada 1,343,109.10 $ 1,343,109.10 $
France 2 490 944,57 $ 2 490 944,57 $
Allemagne 2 775 195,60 $ 2 775 195,60 $
Royaume-Uni 5 057 076,55 $ 5 057 076,55 $
États-Unis 9 389 479,79 $
Total général 26 054 827,45 $ 16 665 347,67 $

La table suivante montre un exemple de résultat si vous utilisiez cette mesure dans un visuel de table de rapport :

Row Labels Accessories Bikes Clothing Grand Total
2005 1 526 481,95 $ 1 526 481,95 $
2006 3 554 744,04 $ 3 554 744,04 $
2007 156 480,18 $ 5 640 106,05 $ 70 142,77 $ 5 866 729,00 $
2008 228 159,45 $ 5 386 558,19 $ 102 675,04 $ 5 717 392,68 $
Total général 384 639,63 $ 16 107 890,23 $ 172 817,81 $ 16 665 347,67 $

RELATEDTABLE
Fonctions de filtrage