Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia, Pessoal..
Estou começando nos estudos de qlikview e estou com a seguinte situação:
Nos anexos coloquei o relacionamento da tabela de itens com a tabela de calendário..
Preciso carregar o campo ANO de modo a mostrar os dois últimos anos + o ano atual e preciso fazer o Count de todos os itens implantados nos ultimos 2 anos + a data selecionada.. Ou seja, vai mostra 2012 / 2013 / 2014 e ao selecionar 2013, irá mostrar os itens cadastrados em 2011, 2012 e 2013.
Meu problema está justamente ai.. Quando seleciono 2014, faz contagem normal.. Mas quando seleciono 2013, apenas conta 2013 e 2012.. E ainda se seleciono 2012, só conta 2012..
Agora, se no AUTOGENERATE eu mudar a data de 01/01/2012 para 2010.. Vai passar a exibir 2010, 2011 ... 2014.. Ai selecionando 2012 passa a funcionar e o problema começa a acontecer com 2011 e 2010..
Scripts:
calendario:
LOAD
date([Data], 'DD/MM/YYYY') as [Data Implantação - Item],
if(monthname(peek('Data'))<>monthname(Data),1,0) as Data_Anterior,
Day(Data) as Dia,
Month(Data) as "Mês",
Year(Data) as Ano,
DayNumberOfQuarter(Data) as [Dia Trimestre],
DayNumberOfYear(Data) as [Dia Ano],
MonthName(Data) as [Mês - Ano],
QuarterName(Data)&'º Sem' as [Semestre],
Week(Data) as [Semana],
ceil(Month(Data)/3)&'º Trim' as [Trimestre],
WeekDay(Data) as [Dia Semana];
LOAD
makedate(mid(date((Today()) - Recno()+1, 'DD/MM/YYYY HH:MM:SS'), 7,4),
mid(date((Today()) - Recno()+1, 'DD/MM/YYYY HH:MM:SS'), 4,2),
mid(date((Today()) - Recno()+1, 'DD/MM/YYYY HH:MM:SS'), 1,2)) as [Data]
AUTOGENERATE(Today() - '01/01/2012');
let vAnoAtual = '=max(Ano)';
let vAnoAnterior2 = AddYears(Ano, -2);
LET vStart=yearstart(AddYears(Ano,- 2));
Obrigado a todos...
Thiago,
Crie o calendário para o intervalo de datas contidas em sua aplicação.
Ex.: AUTOGENERATE('$(vMaxData)' - '$(vMinData)' + 1);
Quando você seleciona um ano e quer apresentar um cálculo para o ano selecionado e para os dois anteriores, esses dois precisam estar carregados na aplicação.
No script você apenas definirá o intervalo de tempo para o qual deseja carregar os dados.
Nos gráficos, use a seguinte expressão:
Count({<Ano={'>=$(=Max(Ano)-2)<=$(=Max(Ano))'}>}Item)
Abs,
Felipe
Thiago,
Crie o calendário para o intervalo de datas contidas em sua aplicação.
Ex.: AUTOGENERATE('$(vMaxData)' - '$(vMinData)' + 1);
Quando você seleciona um ano e quer apresentar um cálculo para o ano selecionado e para os dois anteriores, esses dois precisam estar carregados na aplicação.
No script você apenas definirá o intervalo de tempo para o qual deseja carregar os dados.
Nos gráficos, use a seguinte expressão:
Count({<Ano={'>=$(=Max(Ano)-2)<=$(=Max(Ano))'}>}Item)
Abs,
Felipe
OK. Mais ai, na seleção dos anos, vai mostrar todos os anos que tenho cadastrado no item, correto?
No caso a menor data é 1999. Como faria para exibir para seleção apenas os últimos 3 anos?
Consegui.. Criei uma expressão na lista do Ano..
Valeu.