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

Dúvida expressão

Olá, estou com uma dúvida e gostaria de saber se alguém aqui pode me ajudar.

Estou tentando, com set analysis, contar os valores após a data de entrevista (dt_entrevista)...

expressao :   Count( {<serial_data={'> $(=num(dt_entrevista))'}>} valor

quando eu seleciono apenas um cliente, a expressão funciona...

tentei com if também, mas nao deu certo.

ex1.jpg

ex2.jpg

Labels (2)
1 Solution

Accepted Solutions
aderlanrm
Partner - Specialist
Partner - Specialist

Entendi...

Tente o seguinte.

No script, faça um novo load com resident, nesse load, você vai criar uma nova tabela de dados com os clientes e o total que ele gastou com data maior ou igual a essa que você falou, usando o grop by e o sum no campo valor.

com isso você vai ter as informações que você precisa, podendo acrecentar também um count(DataCompra) para já deixar pronto um contador de frequencia.

O resultado será mais ou menos esse:

Cliente A; 5; R$ 200,00

Cliente B; 1; R$ 55,00

Cliente C; 0; R$ 0,00

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)

View solution in original post

8 Replies
aderlanrm
Partner - Specialist
Partner - Specialist

rvsilvestre,

Não entidi muito bem.

Você quer contar a quantidade de entrevistas por dia ou por mês ou por ano, é isso?

Se for, basta você colocar na dimensão, um grupo ciclico e na expresão usar count(entrevista), com isso o grafico vai se adaptar a dimensão selecionada.

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Anonymous
Not applicable
Author

a dimensão ali ( que nao aparece na imagem ) sao os clientes...  então por exemplo:

o primeiro cliente ali que foi entrevistado dia 25/08/2011... eu quero saber quantas vezes ele gastou ...

count (valor) ... da data da entrevista ( 25/08/2011 ) até hoje...

O problema é que a data de entrevista não é a mesma para todos os clientes...  

Quando eu seleciono apenas um cliente, deixando somente uma data de entrevista existente, a expressão funciona.

aderlanrm
Partner - Specialist
Partner - Specialist

Entendi...

Tente o seguinte.

No script, faça um novo load com resident, nesse load, você vai criar uma nova tabela de dados com os clientes e o total que ele gastou com data maior ou igual a essa que você falou, usando o grop by e o sum no campo valor.

com isso você vai ter as informações que você precisa, podendo acrecentar também um count(DataCompra) para já deixar pronto um contador de frequencia.

O resultado será mais ou menos esse:

Cliente A; 5; R$ 200,00

Cliente B; 1; R$ 55,00

Cliente C; 0; R$ 0,00

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
edu_oliveira
Partner - Contributor III
Partner - Contributor III

Ola.

Tentou substiuir o campo da expressão por uma variável....

Count( {<serial_data={'> $(=num(dt_entrevista))'}>} valor)

para

Count( {<serial_data={'> $(Var_Dt_Entrevista)'}>} valor)

Att.,


cesaraccardi
Specialist
Specialist

Olá,

O que deve estar acontecendo é o seguinte, na sua expressão Count( {<serial_data={'> $(=num(dt_entrevista))'}>} valor) só vai aparecer o resultado quando você tem 1 único valor possível para a data. Neste caso substitua por Count( {<serial_data={'> $(=num(only(dt_entrevista)))'}>} valor). Espero ter ajudado.

Abraços.

Anonymous
Not applicable
Author

Obrigado pela ajuda Aderlan Rodrigues, edu.oliveira e Cesar Accardi Jr...

tentei fazer o que vocês falaram, porém ainda não obtive sucesso.

    "...O que deve estar acontecendo é o seguinte, na sua expressão Count( {<serial_data={'> $(=num(dt_entrevista))'}>} valor) só vai aparecer o resultado quando você tem 1 único valor possível para a data."

Você esta certo Cesar, a questão é que no total a varias "dt_entrevista", mas por cliente tem apenas uma data. E como eu estou usando em uma tabela com a dimensão cliente, a lógica era que em cada linha(cliente) tivesse apenas uma data e a expressão funcionasse ( assim como funciona, quando eu seleciono apenas um cliente).

O engraçado é que quando eu uso uma coluna apenas com o campo dt_entrevista ( como na imagem que eu postei ) ... funciona perfeitamente, aparece a data de entrevista para cada cliente. E quando eu coloco esse dt_entrevista dentro do Set Analysis não funciona. É como se o Set Analysis ignorasse a dimensão da tabela.

Já tive um problema parecido a um tempo atrás... e ao invés de usar set analysis, optei por usar o if.... porém agora, nem com o if esta dando certo.. rsrs...

Caso alguém tenha alguma outra sugestão...

 

cesaraccardi
Specialist
Specialist

Rodrigo, você consegue postar o qvw? Se puder eu gostaria de dar uma olhada. Abraços.

Anonymous
Not applicable
Author

Olá,

Fiz um contador no script e resolveu meu problema, mais simples do que eu pensava.

load

1 as cont_entrevista,

cliente

resident tabela

where data > dt_entrevista ;

e na expressão eu uso apenas um sum(cont_entrevista) ... e mostra quantas vezes o cliente visitou após a entrevista.

Obrigado a todos pela ajuda