SUBSTITUTEWITHINDEX

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

Retourne une table qui représente une semi-jointure gauche des deux tables fournies comme arguments. La semi-jointure est effectuée à l’aide de colonnes communes, déterminées par les noms des colonnes communes et le type de données commun. Les colonnes qui sont jointes sont remplacées par une seule colonne dans la table retournée qui est de type entier et contient un index. L’index est une référence dans la table de jointure droite basé sur un ordre de tri spécifié.

Les colonnes de la table de droite/seconde fournie qui n’existent pas dans la table de gauche/première fournie ne sont pas incluses dans la table retournée et ne sont pas utilisées pour la jointure.

L’index commence à 0 (base 0) et est incrémenté de un pour chaque ligne supplémentaire dans la table de jointure de droite/seconde fournie. L’index est basé sur l’ordre de tri spécifié pour la table de jointure de droite/seconde.

Syntaxe

SUBSTITUTEWITHINDEX(<table>, <indexColumnName>, <indexColumnsTable>, [<orderBy_expression>, [<order>][, <orderBy_expression>, [<order>]]…])  

Paramètres

Terme Définition
tableau Table à filtrer en effectuant une semi-jointure gauche avec la table spécifiée comme troisième argument (indexColumnsTable). Il s’agit de la table sur le côté gauche de la semi-jointure gauche. Lla table retournée contient les mêmes colonnes que cette table, sauf que toutes les colonnes communes aux deux tables seront remplacées par une colonne d’index unique dans la table retournée.
indexColumnName Chaîne qui spécifie le nom de la colonne d’index qui remplace toutes les colonnes communes dans les deux tables fournies comme arguments à cette fonction.
indexColumnsTable Seconde table de la semi-jointure gauche. Il s’agit du tableau à droite de la semi-jointure gauche. Seules les valeurs présentes dans cette table seront retournées par la fonction. Aussi, les colonnes de cette table (basées sur les noms de colonne) seront remplacées par une colonne d’index unique dans la table retournée par cette fonction.
orderBy_expression Toute expression DAX où la valeur de résultat est utilisée pour spécifier l’ordre de tri souhaité de la table indexColumnsTable afin de générer des valeurs d’index correctes. L’ordre de tri spécifié pour la table indexColumnsTable définit l’index de chaque ligne de la table et cet index est utilisé dans la table retournée pour représenter des combinaisons de valeurs dans indexColumnsTable, telles qu’elles apparaissent dans la table fournie comme premier argument de cette fonction.
order (Facultatif) Valeur qui spécifie comment trier les valeurs orderBy_expression, par ordre croissant ou décroissant :

Valeur : Desc. Valeur alternative : 0(zéro)/FALSE. Trie par ordre décroissant les valeurs orderBy_expression. Il s’agit de la valeur par défaut quand le paramètre order est omis.

Valeur : ASC. Valeur alternative : 1/TRUE. Trie par ordre croissant les valeurs orderBy_expression.

Valeur renvoyée

Une table qui contient uniquement ces valeurs présentes dans la table indexColumnsTable et qui a une colonne d’index au lieu de toutes les colonnes présentes (par nom) dans la table indexColumnsTable.

Notes

  • Cette fonction ne garantit pas l’ordre de tri des résultats.

  • 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).