Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
pessoal boa noite, estou com o seguinte problema.
tenho uma tabela com varias linhas , porem tenho um campo chamado dat_cricacao
tenho q fazer um filtro dentro de uma tabela dinamica
preciso descobrir os items dessa tabela com data retroativa
exemplo
dat_criacao - 30 DIAS
dat_criacao - 60 DIAS
dat_criacao - 90 DIAS
dat_criacao - 180 DIAS
dat_criacao - 365DIAS
Alguem poderia me ajudar sobre esse assunto eu nao consegui uma solução ainda,, Obrigado por enquanto.
Bom dia Roberto,
Concordo com o Augusto, isso resolve para você?
Você pode ainda usar a sua consulta SQL direto, não precisa obrigatóriamente fazer no QlikView, você usará na tabela dinâmica o resultado da tua consulta.
Exemplo:
// Comando de conexão
SQL select sum(qtd_pecas)
from tabela
where dat_cricacao > ((sysdate+1)-30);
Olá Roberto,
Isso vai depender do valor que está nesse campo.
Se for 30, 60, 90... basta incluilo na tabela dinâmica e nas propriedades do objeto, aba apresentação, escolha esse campo e marque a opção "seletor dropdown", isso colocará um icono no rótulo da coluna que quando você clicar basta digitar qualquer valor, exemplo: ">60", 180,">20<180" e pronto, estaram selecionados, igual se faz com as listas e outros objetos.
Se esse campo for data, no script crie um novo campo e calcule a diferança de dias até a data atual, como no exemplo abaixo, depois basta usar o campo e fazer o que lhe falei a cima.
Abraço.
Exemplo:
LOAD dat_criacao,
now()-dat_criacao as dias
...
Aderlan , eu quero mostrar as quantidades de alguns produtos que estejam em um intervalo de data
sem sql eu faria assim
select sum(qtd_pecas)
from tabela
where dat_cricacao > ((sysdate+1)-30)
nesse select eu consigo somar as quantidades de conforme o intervalo de data , porem no qlikview eu jogo a tabela toda , preciso fazer isso em uma tabela dinamica.
exemplo
grupo empresa qtd a 60 dias qtd a 90 dias qtd a 180 dias
AMERICA EMPRESA 1 200 600 950
é mais ou menos isso, porem nao tenho ideia de como fazer isso no qlick view.
pode me ajudar ? acho q ficou mais claro a minha duvida agora
Roberto, essa data da Criação seria sempre comparado com a data atual? Ou da seleção?
Para data atual, eu faria um campo na mesma tabela que você está carregando esses fatos:
div(today() - dat_criacao, 30) * 30 as DIAS_RETROATIVO
// se a diferença for 20 dias, irá retornar 0... se for 45, irá retornar 30, se for 76 irá retornar 60 e assim por diante.
E colocaria esse campo na dimensão e dá um sum.
Se quiser 'enfeitar' a descrição do campo, só concatenar...
'Quantidade de dias retroativo: '&div(today() - dat_criacao, 30) * 30 as DIAS_RETROATIVO
Espero ter ajudado.
Bom dia Roberto,
Concordo com o Augusto, isso resolve para você?
Você pode ainda usar a sua consulta SQL direto, não precisa obrigatóriamente fazer no QlikView, você usará na tabela dinâmica o resultado da tua consulta.
Exemplo:
// Comando de conexão
SQL select sum(qtd_pecas)
from tabela
where dat_cricacao > ((sysdate+1)-30);
vlw pessoal eu fiz dessa maneira dentro da planilha mesmo
=If((date(today()) - DAT_CRIACAO) < 30, '1- (Até 30 Dias)',
if((date(today()) - DAT_CRIACAO) >= 30 and (date(today()) - DAT_CRIACAO) < 60, '2- (1 > 3 Meses)',
if((date(today()) - DAT_CRIACAO) >= 60 and (date(today()) - DAT_CRIACAO) < 90, '3- (3 > 6 Meses)',
if((date(today()) - DAT_CRIACAO) >= 90 and (date(today()) - DAT_CRIACAO) < 180, '4- (6 > 1 Ano)',
if((date(today()) - DAT_CRIACAO) >= 180 and (date(today()) - DAT_CRIACAO) < 365, '5- (1 Ano)',
if((date(today()) - DAT_CRIACAO) >= 180 and (date(today()) - DAT_CRIACAO) > 365, '6- ( > 1 Ano)'))))))
deu certo vlw