Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia.
Caros venho aqui pedir um auxilio de vocês, como sou novo no QlikView não tenho muita prática com o mesmo.
Todo dia é gerado um relatório de pedido por dia, este relatório contem os pedidos abertos, então pode ocorrer de um pedido estar aberto em um dia e no próximo dia também.
Então hoje eu gero um qvd com estes dados, e eu gostaria de buscar sempre os dados do mês atual e mais os dados do ultimo dia do mês anterior, e assim por diante.
Então eu teria, os dados do dia 31/12/2014 mais os dias correntes do mês atual (Janeiro), se estivéssemos em fevereiro eu teria 31/12/2014, 31/01/2015 e os dias correntes de fevereiro. estou tentando montar este script pela data de execução do relatório que gerado uma vez por dia, mas estou quebrando a cabeça nisso.
Depois de ter os dados prontos, quero poder verificar os dados do ultimo dia do mês anterior com os do mês atual para verificar as diferenças.
Preciso montar dois Gráfico ou Tabela que fique bem visível as seguintes questões.
Primeiro.
Dimensões: Loja e Mês.
Expressão: Total Pedido e Valor Total Pedidos.
Segundo:
Dimensões: Loja e Dia
Expressão: Total Pedido e Valor Total Pedidos.
Os que eu tentei fazer ficaram muito ruim de visualizar.
Gostaria de saber se é possível desvincular uma pasta da outra.
Obrigado.
Ah, agora entendi. Você precisa que ele traga o ÚLTIMO DIA DE TODOS OS MESES que estão dentro do arquivo e não apenas o último dia do mês anterior?! é Isso?
Se for isso, então tente:
Load
*
From Arquivo.QVD
Where DtPedido = Date(MonthEnd(DtPedido)) or DtPedido >= Date(MonthStart(Today() )
Ou seja, sempre que ele encontrar um pedido dentro do QVD que tenha sido emitido no último dia do mês corrente DO PEDIDO ele irá carregar, assim como irá carregar os pedidos a partir do primeiro dia do mês atual.
Acho que pode até ser o mesmo gráfico. Você pode criar um grupo hierarquico (Drill-down) para quando for selecionado um mês, a visualização passe a ser por dia.
Qual a quantidade de lojas?
Se o número de lojas for grande, você não vai conseguir exibir essa informação de forma clara em um gráfico de barras, por exemplo. Você teria que ter um gráfico comparativo de lojas e depois outro que mostra o detalhe mês/dia.
Em torno de 38 a 42 lojas.
Todo dia é gerado um relatório de pedido por dia, este relatório contem os pedidos abertos, então pode ocorrer de um pedido estar aberto em um dia e no próximo dia também.
Então hoje eu gero um qvd com estes dados, e eu gostaria de buscar sempre os dados do mês atual e mais os dados do ultimo dia do mês anterior, e assim por diante.
Então eu teria, os dados do dia 31/12/2014 mais os dias correntes do mês atual (Janeiro), se estivéssemos em fevereiro eu teria 31/12/2014, 31/01/2015 e os dias correntes de fevereiro. estou tentando montar este script pela data de execução do relatório que gerado uma vez por dia, mas estou quebrando a cabeça nisso.
Depois de ter os dados prontos, quero poder verificar os dados do ultimo dia do mês anterior com os do mês atual para verificar as diferenças.
Obrigado.
Prezado Luiz, estou enviando anexo um exemplo do que o Yuri falou (Com Expansão e Drill-Dow) espero que ajude.
Anderson, Obrigado pelo exemplo.
Consegui fazer desta forma, agora meu problema maior está no script para fazer o que eu descrevi na resposta anterior.
Obrigado.
Luiz
Neste caso como você diz que gera o QVD com os dados do mês, creio que esta limitação de pegar o último dia do mês anterior deva estar no Script, porém você não cita o Banco de dados. No meu caso a grosso modo (que trabalho com SQL Server) eu faria.
Select * From Pedido
Where DtEmissao BetWeen
DATEADD(month, DATEDIFF(month, 0, GetDate()), 0) - 1 and
GetDate()
A função SQL DateAdd da forma como está montada ali, vai pegar o último dia do mês anterior como ponto de partida para a geração dos dados
Acho que me expressei mal.
Os dados gerado no arquivo txt são do dia, então eu acumulo os mesmos em um QVD, então as informações acumuladas por dia e mês estão em um QVD, estou criando uma aplicação que vai buscar os dados deste QVD, e neste script que preciso fazer trazer os dados do ultimo dia do mês anterior mais os dados do mês corrente que estão no QVD.
Luiz se entendi agora (hehe) neste QVD você está acumulando os dados de um período maior que um mês (vou considerar isso) então seria:
Load
*
From Arquivo.QVD
Where DtPedido >= Date(MonthStart(Today())-1)
Ou seja, ele vai pegar os pedidos desde 31/12/2014 até hoje.
Se não for isso, você poderia compartilhar uma parte deste QVD ou montar um parecido pra gente testar.
Seria isso mesmo, mas é para o próximo mês ?
Da maneira que tu colocou traria os dados de 31/12/14 até hoje 08/01, mas quando estiver em fevereiro por exemplo, teria que trazer só o dia 31/12/14, só o dia 31/01/14, e os dias de fevereiro...
Ah, agora entendi. Você precisa que ele traga o ÚLTIMO DIA DE TODOS OS MESES que estão dentro do arquivo e não apenas o último dia do mês anterior?! é Isso?
Se for isso, então tente:
Load
*
From Arquivo.QVD
Where DtPedido = Date(MonthEnd(DtPedido)) or DtPedido >= Date(MonthStart(Today() )
Ou seja, sempre que ele encontrar um pedido dentro do QVD que tenha sido emitido no último dia do mês corrente DO PEDIDO ele irá carregar, assim como irá carregar os pedidos a partir do primeiro dia do mês atual.