Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

CONTAR VALORES SOMENTE UMA VEZ.

Olá turma, meu banco de dados está retornando um tabela com valores repetidos várias vezes.

Até ai tudo bem pois nos "joins" da minha tabela realmente os valores devem repetir, porém na contagem deve constar apenas uma vez.

Por exemplo:

NomeEndereço
JoãoRua XYZ
JoãoRua AAA
JoãoRua BBB,

João é uma unica pessoa, porem possui varios endereços.

Se eu usar um Count ou um Count(distinct(nome)) o valor continua sendo countado varias vezes.

Como posso resolver esse problema?

7 Replies
rphpacheco
Creator III
Creator III

Tente RangeCount(Nome)

Abraço!

Not applicable
Author

Raphael, obrigado pela contribuição, mas ainda não funcionou. Agora ele traz sempre 1 mesmo quando tem valores diferentes.

Por exemplo: se eu tiver Pedro/Joao/Maria/Maria ele nao conta como 3 valores, conta somente como 1.

Obrigado.

rphpacheco
Creator III
Creator III

Terias um exemplo desta base?

Pois segui pela tabela que você fez e se for daquele jeito um Count( Distinct(Nome)) resolveria o problema.

Not applicable
Author

Bom, vamos la vamos usar os dados reais que preciso.

Eu trabalho em uma empresa que presta consultoria em comercio exterior e quero montar um painel que conte a quantidade de processos faturados.

o meu banco de dados tem a tabela de processos, faturamento e faturamentoprocesso.

o faturamento processe pode receber varias vezes o processo pois podem existir itens pendentes para serem faturados, ou seja, um processo pode estar varias notas fiscais.

Na minha consulta SQL ele aparece varias vezes e quando mando contar no qlik mesmo usando o distinct ou o rangecount os valores não batem.

rphpacheco
Creator III
Creator III

Bom leonardo...

Não entendi direito, mas queres que esta contagem seja feita em um objeto a partir da sua nuvem de dados?

Ou já queres carregar a sua tabela de dados com esta particularidade.

Pergunto isso, pois se for contagem no objeto, o Count ( Distinct (Nome)) deveria funcionar como está listado neste novo QVW que anexei.

Agora, se queres isso na carga dos dados aí muda o cenário, pois tudo irá depender de quais informações estas trazendo junto com os nomes. Dependendo destes dados, terás que fazer group by para tê-los

Not applicable
Author

Como que está o Cadastro que Você está puxando para qlikview ?

Está assim ?

Cod_Cliente,

Loja_Cliente

Caso o cliente 0001, possua mais de uma "loja" ex :01/02/03, concatena os campos

Concat(cod_cliente,loja_cliente)  as id_cliente

fernando_tonial
Partner - Specialist
Partner - Specialist

Olá, Existem algumas formas de fazer isso, como o Count(Distinct Campo) não esta funcionando, você pode fazer assim.

Crie um campo em sua tabela faturamentoprocesso com o valor 1 para cada ocorrência do processo com LOAD Resident.

Ex.

faturamentoprocesso:

LOAD

     IdProcesso,

     DataProcesso,

     If(IdProcesso<>Previous(IdProcesso),1,Null()) as ContaProcesso

Resident TMP_faturamentoprocesso

Order By IdProcesso;

Drop table TMP_faturamentoprocesso;

Depois é só somar o campo criado no script.

Sum(ContaProcesso)

Espero ter ajudado.

Abraços.

Tonial.

Don't Worry, be Qlik.