Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Não ficou clara a diferença entre as funções VALUE e DISTINCT

Não ficou clara para mim a diferença entre as funções VALUE e DISTINCT, até porque a sintaxe parece a mesma. Conseguem fornecer mais exemplos?

4 respostas

Olá, Geraldo!

Sinto muito que houve um total clareza e o entendimento não tenha ficado claro

A função VALUE é usada para retornar uma tabela de valores únicos de uma coluna específica em um contexto de filtro. Ela é frequentemente utilizada para criar uma lista distinta de valores com base nas seleções ou filtros aplicados em outras colunas. Por exemplo, se você tem uma tabela de vendas com as colunas "Produto" e "Valor" e deseja obter uma lista de produtos distintos, você pode usar a função VALUES da seguinte forma:

Produtos Distintos = VALUES(Vendas[Produto])

Já a função DISTINCT também retorna uma tabela de valores únicos de uma coluna específica, mas pode ser usada sem a necessidade de especificar uma tabela. Isso a torna mais flexível quando você precisa de uma lista de valores únicos sem se referir a uma tabela específica. Por exemplo, usando o mesmo exemplo da tabela "Vendas", você pode obter a lista de produtos distintos sem referenciar explicitamente a tabela da seguinte forma:

Produtos Distintos = DISTINCT(Vendas[Produto])

Ambas as funções são úteis em cenários de criação de relatórios e análises, quando você precisa gerar listas de valores exclusivos para criar visualizações específicas ou realizar cálculos em um contexto de filtro mais refinado.

A título de curiosidade deixo a documentação a respeito:

Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!
solução!

Oi Victor! Você reproduziu a explicação que está no curso e eu não achei clara.

Como a diferença é que em uma não precisa fazer referência a uma tabela específica, mas no código de exemplo ambas fazem referência à tabela Vendas?

Produtos Distintos = VALUES(Vendas[Produto])
Produtos Distintos = DISTINCT(Vendas[Produto])

Olá Geraldo!

Peço desculpas, o meu intuito foi reforçar a explicação da aula dando mais clareza, sobre a atividade.

Talvez a confusão tenha sido nos parâmetros, que cada função pode receber. A função VALUES pode receber como parâmetro tanto uma coluna específica da tabela, por exemplo, [NomeDaColuna], quanto um conjunto de valores resultante de uma fórmula ou medida DAX. Por outro lado, a função DISTINCT pode receber apenas uma coluna específica da tabela, como [NomeDaColuna], para retornar os valores únicos dessa coluna, sem a capacidade de aceitar fórmulas ou medidas como parâmetro.

Mas não vamos nos atentar muito nisso por hora, e por fim mais uma diferença:

Fórmula DISTINCT:

Imagine que temos uma tabela de vendas com a coluna "Produto" e queremos usar a fórmula DISTINCT nessa coluna. Essa fórmula nos mostra apenas os produtos únicos, sem repetições. Vamos dar uma olhada em um exemplo:

ProdutoQuantidade
Bola10
Bola20
Sapato30

Quando usamos DISTINCT, a fórmula nos dá uma lista de produtos únicos, como esta:

Produto
Bola
Sapato

Fórmula VALUES:

Agora, vamos entender como a fórmula VALUES funciona na mesma tabela:

ProdutoQuantidade
Bola10
Bola20
Sapato30

Quando usamos VALUES, a fórmula nos dá todos os produtos, incluindo os repetidos:

Produto
Bola
Bola
Sapato

Portanto, a função DISTINCT é utilizada para retornar uma lista contendo somente os valores únicos de uma coluna específica, ou seja, aqueles valores que não se repetem. Por outro lado, a função VALUES é usada para retornar uma lista com todos os valores presentes na coluna, incluindo aqueles que se repetem. Portanto, a diferença fundamental entre essas duas funções está na maneira como lidam com valores duplicados em uma coluna, o que pode causar diferenças no resultado.

Compreendo perfeitamente que o tema não é de fácil compreensão e que podemos nos sentir confusos. Nesse caso, recomendo a leitura de um artigo que aborda o assunto de forma mais aprofundada. Esse artigo foi escrito por um autor de língua inglesa, mas caso você não se sinta confortável com o idioma, pode utilizar a tradução do navegador.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Agora siiim! Ajudou muito! Obrigado