TREATAS

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

Applique le résultat d’une expression de table comme filtres aux colonnes d’une table non associée.

Syntaxe

TREATAS(table_expression, <column>[, <column>[, <column>[,…]]]} )  

Paramètres

Terme Définition
table_expression Expression produisant une table.
colonne Une ou plusieurs colonnes existantes. Il ne peut pas s’agir d’une expression.

Valeur de retour

Table contenant toutes les lignes de la ou des colonnes qui se trouvent également dans table_expression.

Remarques

  • Le nombre de colonnes spécifié doit correspondre au nombre de colonnes dans l’expression de table. Les colonnes doivent aussi être dans le même ordre.

  • Si une valeur retournée dans l’expression de table n’existe pas dans la colonne, elle est ignorée. Par exemple, TREATAS({"Red", "Green", "Yellow"}, DimProduct[Color]) définit un filtre sur la colonne DimProduct[Color] avec trois valeurs : "Red", "Green" et "Yellow". Si "Yellow" n’existe pas dans DimProduct[Color], les valeurs de filtre effectives sont "Red" et "Green".

  • Cette fonction est idéale quand il n’existe pas de relation entre les tables. Si vous avez plusieurs relations entre les tables impliquées, utilisez USERELATIONSHIP à la place.

  • Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery quand elle est utilisée dans des colonnes calculées ou des règles de sécurité au niveau des lignes (RLS).

Exemple

Dans l’exemple suivant, le modèle contient deux tables de produits non liées. Si un utilisateur applique un filtre à DimProduct1[ProductCategory] en sélectionnant Bikes, Seats et Tires, le même filtre (Bikes, Seats et Tires) est appliqué à DimProduct2[ProductCategory].

CALCULATE(
SUM(Sales[Amount]), 
TREATAS(VALUES(DimProduct1[ProductCategory]), DimProduct2[ProductCategory])
)

INTERSECT
FILTER
USERELATIONSHIP