Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
qlik_
Creator
Creator

Usando váriavel em set analysis

Boa tarde gente

Estou com uma dúvida

Preciso fazer o seguinte cálculo contar quantas notas foram expedidas , 2 dias antes da data em que filtrei

exemplo:

No filtro selecionei

05 de fevereiro de 2015,

preciso saber quantas notas foram expedidas dia 2 de fevereiro,

desta forma criei uma variável vDataExpedido, dentro dela eu calculo dia do filtro - 2, até ai tudo certo.

Mas o cálculo abaixo não funciona, não sei usar variável em set analysis.

alguém tem alguma dica?

=count({$<CD_UO_ROMANEIO = {'0015', '0199'},TP_ROMANEIO ={'V'},DT_EMIS_ROMANEIO = {"=$(vDataExpedido)"}>}distinct NR_NF)

Labels (1)
1 Solution

Accepted Solutions
qlik_
Creator
Creator
Author

gente Fiz dessa forma e deu certo

=count({$<CD_UO_ROMANEIO = {'0015', '0199'},TP_ROMANEIO ={'V'},DIA_FILTRO={"$(=max(montstart(DIA_FILTRO)-2))$(=max(DIA_FILTRO)-2)"} >}distinct NR_NF)

obrigada a todos que me ajudaram

View solution in original post

35 Replies
Not applicable

Carla,

Acredito que assim funcionaria:

=count({$<CD_UO_ROMANEIO = {'0015', '0199'},TP_ROMANEIO ={'V'},DT_EMIS_ROMANEIO = {$(vDataExpedido)}>}distinct NR_NF)

Espero ter ajudado.

thiago_mlg
Creator II
Creator II

Carla, boa tarde!

A sintaxe para utilizar variavel dentro de um set analysis é a seguinte:

campo = {'$(vVariavel)'}

ou seja na sua expressão basta colocar neste formato.. No que o Gabriel descreveu esta quase correto com falta apenas das Aspas.

Fica assim:

count({$<CD_UO_ROMANEIO = {'0015', '0199'},TP_ROMANEIO ={'V'},DT_EMIS_ROMANEIO = {'$(vDataExpedido)'}>}distinct NR_NF)


Espero ter ajudado!


Thiago Gonçalo

qlik_
Creator
Creator
Author

Não deu certo

tentei direto

mas n deu tb

=count({$<CD_UO_ROMANEIO = {'0015', '0199'},TP_ROMANEIO ={'V'},DT_EMIS_ROMANEIO = {"=$(Date(DATA_FILTRO-1,'YYYY-MM-DD'))"}>}distinct NR_NF)

Not applicable

Thiago, seria o caso de ser opcional o uso das aspas?

Digo isso pois sempre utilizei sem e nunca tive problemas, sempre funcionou.

Bom, de qualquer forma testei os dois métodos e ambos funcionaram.

qlik_
Creator
Creator
Author

o conteúdo da minha variável é este

=Date(DATA_FILTRO-1,'YYYY-MM-DD')

quando jogo ela em objeto de texto para verificar o que esta retornando

trás

agora se jogo a variável direto

thiago_mlg
Creator II
Creator II

Gabriel, isso pode variar de versão do qlik. No meu não funciona quando coloco sem aspas.. Ele até fala que a expressão esta correta, porem não apresenta os resultados.

Not applicable

Certo! Vou ter isso em mente, obrigado!

thiago_mlg
Creator II
Creator II

Carla,

Quando vc faz a expressão DT_EMIS_ROMANEIO = {"=$(Date(DATA_FILTRO-1,'YYYY-MM-DD'))"} vc em teoria não deveria precisar transformar a data neste formato. Simplesmente pelo fato do seu campo ja ser um campo de data, deveria passar o comando..


Mas vale ressaltar que neste caso que vc apresentou a sintaxe do comando está errada.. Seria:


DT_EMIS_ROMANEIO = {"$(=Date(DATA_FILTRO-1,'YYYY-MM-DD'))"}

e o ideal seria vc pegar sempre a data máxima que ele selecionar, pois se ele selecionar duas datas simultaneamente sua expressão ja da erro.


Seria assim:


variavel: =Date(max(DATA_FILTRO)-2) 


Se ainda continuar com dificuldade e for possivel, nos passe o qvw para analisar como estão formatados os campos.


Abraços


Thiago Gonçalo



qlik_
Creator
Creator
Author

Gente

qual a melhor prática para fazer filtro como no meu caso

que eu tenha que calcular o dia anterior do filtro selecionado.

alguma forma de fazer direto?

=count({$<CD_UO_ROMANEIO = {'0015', '0199'},DT_EMIS_ROMANEIO ={'Date(DATA_FILTRO-1,'YYYY-MM-DD'
'},TP_ROMANEIO ={'V'}>}distinct NR_NF)