Partager via


VALUES

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

Quand le paramètre d’entrée est un nom de colonne, retourne une table à une colonne qui contient les valeurs distinctes de la colonne spécifiée. Les valeurs dupliquées sont supprimées et seules les valeurs uniques sont retournées. Une valeur vide peut être ajoutée. Quand le paramètre d’entrée est un nom de table, retourne les lignes de la table spécifiée. Les lignes en double sont conservées. Une ligne vide peut être ajoutée.

Notes

Cette fonction ne peut pas être utilisée pour retourner des valeurs dans une cellule ou une colonne d’une feuille de calcul. Au lieu de cela, vous l’utilisez comme fonction intermédiaire, imbriquée dans une formule, pour obtenir une liste de valeurs distinctes qui peuvent être comptées ou utilisées pour filtrer ou additionner d’autres valeurs.

Syntaxe

VALUES(<TableNameOrColumnName>)  

Paramètres

Terme Définition
TableName ou ColumnName Colonne à partir de laquelle des valeurs uniques doivent être retournées, ou table à partir de laquelle des lignes doivent être retournées.

Valeur de retour

Quand le paramètre d’entrée est un nom de colonne, une table à une seule colonne est retournée. Quand le paramètre d’entrée est un nom de table, une table des mêmes colonnes est retournée.

Remarques

  • Quand vous utilisez la fonction VALUES dans un contexte qui a été filtré, les valeurs uniques retournées par VALUES sont affectées par le filtre. Par exemple, si vous filtrez par région et que vous retournez une liste de valeurs pour la ville, la liste inclut uniquement les villes dans les régions autorisées par le filtre. Pour retourner toutes les villes, quels que soient les filtres existants, vous devez utiliser la fonction ALL pour supprimer les filtres de la table. Le deuxième exemple illustre l’utilisation de la fonction ALL avec VALUES.

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

  • Pour connaître les meilleures pratiques d’utilisation de la fonction VALUES, voir Utiliser SELECTEDVALUE au lieu de VALUES.

Dans la plupart des scénarios, lorsque l’argument est un nom de colonne, les résultats de la fonction VALUES sont identiques à ceux de la fonction DISTINCT. Les deux fonctions suppriment les doublons et retournent une liste des valeurs possibles dans la colonne spécifiée. Toutefois, la fonction VALUES peut également retourner une valeur vide. Cette valeur vide est utile dans les cas où vous recherchez des valeurs distinctes dans une table associée, mais qu’une valeur utilisée dans la relation est manquante dans une table. Dans la terminologie de base de données, il s’agit d’une violation de l’intégrité référentielle. De telles incompatibilités dans les données peuvent se produire quand une table est mise à jour et que la table associée ne l’est pas.

Lorsque l’argument est un nom de table, le résultat de la fonction VALUES retourne toutes les lignes de la table spécifiée plus une ligne vide, en cas de violation de l’intégrité référentielle. La fonction DISTINCT supprime les lignes en double et retourne des lignes uniques dans la table spécifiée.

Notes

La fonction DISTINCT accepte comme argument un nom de colonne ou une expression de table valide, mais la fonction VALUES accepte uniquement un nom de colonne ou un nom de table comme argument.

Le tableau suivant résume l’incompatibilité entre les données qui peut se produire dans deux tables associées lorsque l’intégrité référentielle n’est pas conservée.

Table MyOrders Table MySales
1er juin Ventes du 1er juin
2 juin Ventes du 2 juin
(aucune date de commande n’a été entrée) Ventes du 3 juin

Si vous utilisez la fonction DISTINCT pour retourner une liste de dates, seules deux dates sont retournées. Toutefois, si vous utilisez la fonction VALUES, la fonction retourne les deux dates et un membre vide supplémentaire. En outre, toute ligne de la table MySales qui n’a pas de date correspondante dans la table MyOrders sera « mise en correspondance » avec ce membre inconnu.

Exemple

La formule suivante compte le nombre de factures uniques (commandes client) et produit les résultats suivants quand elles sont utilisées dans un rapport qui contient les noms des catégories de produits :

= COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))  

retourne :

Étiquettes de ligne Nombre de factures
Accessories 18 208
Bikes 15 205
Clothing 7 461
Total général 27 659

FILTER, fonction
COUNTROWS, fonction
Fonctions de filtrage