Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Contar Cliente - Distinct

Pessoal,

Sou extremamente novo no Qlik Sense e ainda estou engatinhando e por isso minha duvida pode parecer besta, mas ainda não consegui uma solução.

Seguinte, eu tenho uma base de dados que contem o codigo dos meus clientes + valor de venda, e um DePara que possue Codigo + Nome cliente.

As duas bases estão conectadas, e preciso contar a quantidade de clientes distintos que realizei vendas, porém,quando uso a formula

=count(distinct [cliente]) ele conta o total de clientes da minha base 'DePara', por exemplo

Base de dados:

  

  

Cliente

Valor Vendas

Cliente A

100

Cliente A

1000

Cliente A

500

Cliente B

10

Cliente B

200

Cliente C

2000

Cliente C

1000

DePara Cliente

Cliente A

Cliente B

Cliente C

Cliente D

Cliente E

Cliente F

Cliente G

Para esse exemplo, a fórmula me retorna 7, ao invés de 3.

Alguém consegue me ajudar?

  Obrigado

Labels (1)
1 Solution

Accepted Solutions
felipedl
Partner - Specialist III
Partner - Specialist III

Olá Atila,

Veja a imagem abaixo para entender o que acontece:

Como as duas tabelas estão conectadas, se você fizer count(Distinct Cliente) irá retornar todos os valores distintos do campo Cliente.

Com a expressão count(Distinct ID) onde o campo ID (que é meramente uma cópia do valor que está contido no campo Cliente da tabela Cliente), só irá pegar os campos distintos registrados na tabela Cliente, visto que não está conectada a outra.

Os campos associados geram agregações diferentes, por exemplo, se você desconectar as tabelas, irá resultar no valor 3, ao invés de 7 e ao conectar, o Qlik irá entender os valores possíveis como Cliente como sendo todos os possíveis das duas tabelas.

Sample.png

Usei o seguinte script para gerar a imagem:

x:

load * Inline

[

Cliente,ID,Valor Vendas

Cliente A,Cliente A,100

Cliente A,Cliente A,1000

Cliente A,Cliente A,500

Cliente B,Cliente B,10

Cliente B,Cliente B,200

Cliente C,Cliente C,2000

Cliente C,Cliente C,1000

];

y:

Load * Inline

[

Cliente,Desc

Cliente A,1

Cliente B,2

Cliente C,3

Cliente D,4

Cliente E,5

Cliente F,6

Cliente G,7

];

View solution in original post

5 Replies
felipedl
Partner - Specialist III
Partner - Specialist III

Olá Atila,

Veja a imagem abaixo para entender o que acontece:

Como as duas tabelas estão conectadas, se você fizer count(Distinct Cliente) irá retornar todos os valores distintos do campo Cliente.

Com a expressão count(Distinct ID) onde o campo ID (que é meramente uma cópia do valor que está contido no campo Cliente da tabela Cliente), só irá pegar os campos distintos registrados na tabela Cliente, visto que não está conectada a outra.

Os campos associados geram agregações diferentes, por exemplo, se você desconectar as tabelas, irá resultar no valor 3, ao invés de 7 e ao conectar, o Qlik irá entender os valores possíveis como Cliente como sendo todos os possíveis das duas tabelas.

Sample.png

Usei o seguinte script para gerar a imagem:

x:

load * Inline

[

Cliente,ID,Valor Vendas

Cliente A,Cliente A,100

Cliente A,Cliente A,1000

Cliente A,Cliente A,500

Cliente B,Cliente B,10

Cliente B,Cliente B,200

Cliente C,Cliente C,2000

Cliente C,Cliente C,1000

];

y:

Load * Inline

[

Cliente,Desc

Cliente A,1

Cliente B,2

Cliente C,3

Cliente D,4

Cliente E,5

Cliente F,6

Cliente G,7

];

Anonymous
Not applicable
Author

Felip, obrigado pela ajuda.

Daria pra fazer esse calculo, sem criar a coluna adicional?

felipedl
Partner - Specialist III
Partner - Specialist III

Sem criar o novo campo, você teria que desassociar as tabelas mesmo.

Felipe.

Anonymous
Not applicable
Author

Ah entendi.

Sem problemas então.

De qualquer maneira, funcionou.

Obrigado

marcelvinicius
Creator III
Creator III

Bom dia amigo,

Por gentileza, marcar a resposta como correta para que possa fechar o tópico e quem também estiver com dúvida possa saber como resolver.

Obrigado