VALUES

Quando o parâmetro de entrada é um nome de coluna, retorna uma tabela de coluna única que contém os valores distintos da coluna especificada. Valores duplicados são removidos e apenas valores exclusivos são retornados. Um valor BLANK pode ser adicionado. Quando o parâmetro de entrada é um nome de tabela, retorna as linhas da tabela especificada. Linhas duplicadas são preservadas. Uma linha BLANK pode ser adicionada.

Observação

Esta função não pode ser usada para retornar valores em uma célula ou coluna em uma planilha; em vez disso, você pode usá-la como uma função intermediária, aninhada em uma fórmula, para obter uma lista de valores distintos que podem ser contados ou usados para filtrar ou somar outros valores.

Sintaxe

VALUES(<TableNameOrColumnName>)  

Parâmetros

Termo Definição
TableName ou ColumnName Uma coluna da qual os valores únicos devem ser retornados ou uma tabela da qual as linhas devem ser retornadas.

Valor retornado

Quando o parâmetro de entrada é um nome de coluna, uma tabela de única coluna. Quando o parâmetro de entrada é um nome de tabela, uma tabela das mesmas colunas é retornada.

Comentários

  • Quando você usa a função VALUES em um contexto que foi filtrado, os valores exclusivos retornados por VALUES são afetados pelo filtro. Por exemplo, se você filtrar por Região e retornar uma lista de valores para Cidade, a lista incluirá somente as cidades nas regiões permitidas pelo filtro. Para retornar todas as cidades, independentemente dos filtros existentes, você deve usar a função ALL para remover filtros da tabela. O segundo exemplo demonstra o uso de ALL com VALUES.

  • Não há suporte para a função ser usada no modo DirectQuery quando usada em regras RLS (segurança em nível de linha) ou colunas calculadas.

  • Para obter as melhores práticas ao usar VALUES, confira Use SELECTEDVALUE em vez de VALUES.

Na maioria dos casos, quando o argumento é um nome de coluna, os resultados da função VALUES são idênticos aos da função DISTINCT. Ambas as funções removem duplicados e retornam uma lista dos valores possíveis na coluna especificada. No entanto, a função VALUES também pode retornar um valor em branco. Esse valor em branco é útil nos casos em que você está pesquisando valores distintos de uma tabela relacionada, mas um valor usado na relação está ausente em uma tabela. Na terminologia do banco de dados, isso é chamado de violação de integridade referencial. Tais incompatibilidades nos dados podem ocorrer quando uma tabela está sendo atualizada e a tabela relacionada não está.

Quando o argumento for um nome de tabela, o resultado da função VALUES retornará todas as linhas na tabela especificada, além de uma linha em branco, se houver uma violação de integridade referencial. A função DISTINCT remove linhas duplicadas e retorna linhas exclusivas na tabela especificada.

Observação

A função DISTINCT permite que um nome de coluna ou qualquer expressão de tabela válida seja seu argumento, mas a função VALUES aceita apenas um nome de coluna ou um nome de tabela como o argumento.

A tabela a seguir resume a incompatibilidade entre os dados que pode ocorrer em duas tabelas relacionadas quando a integridade referencial não é preservada.

Tabela MyOrders Tabela MySales
1º de junho Vendas de 1º de junho
2 de junho Vendas de 2 de junho
(nenhuma data de pedido foi inserida) Vendas de 3 de junho

Se você usar a função DISTINCT para retornar uma lista de datas, somente duas datas seriam retornadas. No entanto, se você usar a função VALUES, a função retornará as duas datas mais um membro em branco adicional. Além disso, qualquer linha da tabela MySales que não tenha uma data correspondente na tabela MyOrders será "correspondida" a esse membro desconhecido.

Exemplo

A fórmula a seguir conta o número de faturas únicas (ordens de vendas) e produz os seguintes resultados quando usada em um relatório que inclui os Nomes de Categoria de Produto:

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

Retorna

Rótulos de linha Contar faturas
Acessórios 18.208
Bicicletas 15.205
Vestuário 7\.461
Total Geral 27.659

Consulte também

Função FILTER
Função COUNTROWS
Funções de filtro