Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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)
Carla, bom dia.
Tens como disponibilizar um modelo reduzido para ajudar?
Gostaria....mas a base é muito extensa..
veja um exemplo abaixo:
minha variável carrega D-2 do dia que selecionei
será que o problema não é que ...o qlikview não reconhece como filtro quando coloco o campo dt_emissao_romaneio
sera que ele n quer comparar a 2014-02-09 com 2014-02-07
?
Carla, bom dia.
Uma ideia: e se usar as datas sem formatação para efeito de comparação entre as duas?
Assim por exemplo:
Variável: =num(DATA_FILTRO-1)
=count({$<CD_UO_ROMANEIO = {'0015', '0199'},TP_ROMANEIO ={'V'},num(DT_EMIS_ROMANEIO) = {'$(vData)'}>}distinct NR_NF)
Realizei alguns testes com formato de datas diferentes e funcionou.
Espero que lhe ajude.
se eu colocar direto
a data na consulta da certa
se colocar a variável n funciona
sendo que a variável retorna a data ....
Gabriel
copiei e colei oq vc mandou..e da erro
Hum, verdade. Aparentemente não é aceito funções dentro de SetAnalysis. Eu testei a ideia aqui utilizando IF, apenas para verificar a comparação sem a formatação de data.
Quem sabe dessa forma:
Variável: =num(DATA_FILTRO-1)
=count(distinct if(TP_ROMANEIO ='V' and (CD_UO_ROMANEIO = '0015' or CD_UO_ROMANEIO ='0199') and num(DT_EMIS_ROMANEIO) = $(vData), NR_NF))
Gabriel
aqui no meu n deu certo
estou fazendo igualzinho vc me passou...
ta fod..
tava passando a data na mão pra testar...e funciona....ou seja minha consulta ta certa........só falta acerta como passar a data como parametro
=count({$<CD_UO_ROMANEIO = {'0015', '0199'},TP_ROMANEIO ={'V'},DT_EMIS_ROMANEIO = {'2014-10-13'}>}distinct NR_NF)
Carla,
count({<CD_UO_ROMANEIO = {'0015', '0199'},TP_ROMANEIO ={'V'},DT_EMIS_ROMANEIO = {"$(=date(max(DATA_FILTRO)-1))"}>} distinct NR_NF)
Como fica?
Tenho ainda uma duvida Carla. O campo DT_EMIS_ROMANEIO se voce colocar em uma lista e colocar para mostrar como numero e nao como data e no numero com decimal, ele tem decimal (que seria o datetime)?
Digo isto pois uma data 06-01-2014 12:00:00 nao vai ser igual a 06-01-2014 pois seria internamento comparativo de 41645.5 = 41645
AMF
Ola Carla,
Eu acredito que esteja ocorrendo um problema com a formatacao. Quando voce faz o calculo para obter a data anterior a selecionada:
DATA_FILTRO - 1
O QlikView muda a formatacao para numerica automaticamente, por isso voce precisa reformatar para o formato de data desejado:
Date(DATA_FILTRO - 1, 'YYYY-MM-DD')
O que acontece e que quando voce utiliza essa expressao dentro do set analysis ela pode nao funcionar devido a um conflito com as aspas ' ' dentro das chaves { }:
count({$<CD_UO_ROMANEIO = {'0015','0199'},DT_EMIS_ROMANEIO ={'=$(=Date(DATA_FILTRO - 1,'YYYY-MM-DD'))'},TP_ROMANEIO ={'V'}>}distinct NR_NF)
O fato e que tanto aspas simples como duplas sao aceitas no set analysis porem neste caso como voce ja tem as aspas simples da formatacao da data deve usar as duplas no set analysis:
count({$<CD_UO_ROMANEIO = {'0015','0199'},DT_EMIS_ROMANEIO ={"=$(=Date(DATA_FILTRO - 1,'YYYY-MM-DD'))"},TP_ROMANEIO ={'V'}>}distinct NR_NF)
Isso tambem vale se utilizar uma variavel vData por exemplo:
Conteudo de vData: =Date(DATA_FILTRO - 1, 'YYYY-MM-DD')
count({$<CD_UO_ROMANEIO = {'0015','0199'},DT_EMIS_ROMANEIO ={"$(vData)"},TP_ROMANEIO ={'V'}>}distinct NR_NF)
Espero ter ajudado.
Abracos,
Cesar
oi alessandro
todos os campos
estão no formato
2014-10-02
não tem nenhum campo datatime