VALUES
s’applique à :colonne calculéetable calculéemesurecalcul visuel
Lorsque 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 en double sont supprimées et seules les valeurs uniques sont retournées. Une valeur BLANK 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 BLANK 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 ; vous l’utilisez plutôt 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 les valeurs uniques doivent être retournées ou une table à partir de laquelle les 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
Lorsque vous utilisez la fonction VALUES dans un contexte filtré, les valeurs uniques retournées par VALUES sont affectées par le filtre. Par exemple, si vous filtrez par région et retournez une liste des valeurs de la ville, la liste inclut uniquement les villes des régions autorisées par le filtre. Pour retourner toutes les villes, indépendamment des filtres existants, vous devez utiliser la fonction ALL pour supprimer les filtres de la table. Le deuxième exemple illustre l’utilisation de ALL avec VALUES.
Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées ou les règles de sécurité au niveau des lignes (RLS).
Pour connaître les meilleures pratiques lors de l’utilisation de VALUES, consultez Utiliser SELECTEDVALUE au lieu de VALUES.
Fonctions associées
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 d’une table associée, mais 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. Ces incompatibilités dans les données peuvent se produire lorsqu’une table est mise à jour et que la table associée n’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 ainsi qu’une ligne vide, s’il existe une violation de l’intégrité référentielle. La fonction DISTINCT supprime les lignes dupliquées et retourne des lignes uniques dans la table spécifiée.
Notes
La fonction DISTINCT autorise un nom de colonne ou toute expression de table valide comme argument, mais la fonction VALUES accepte uniquement un nom de colonne ou un nom de table comme argument.
Le tableau suivant récapitule l’incompatibilité entre les données qui peuvent 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 renvoyer une liste de dates, seules deux dates sont retournées. Toutefois, si vous utilisez la fonction VALUES, la fonction retourne les deux dates plus un membre vide supplémentaire. En outre, toute ligne de la table MySales qui n’a pas de date correspondante dans la table MyOrders est « mise en correspondance » à ce membre inconnu.
Exemple
La formule suivante compte le nombre de factures uniques (commandes commerciales) et produit les résultats suivants lorsqu’ils sont utilisés dans un rapport qui inclut les noms des catégories de produits :
= COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))
retourne :
Étiquettes de ligne | Compter les factures |
---|---|
Accessories | 18 208 |
Bikes | 15 205 |
Clothing | 7 461 |
Total général | 27 659 |