Pessoal,
Boa tarde.
Estou com uma fórmula no QLIK que não estou conseguindo selecionar, na teoria seria:
soma da PDD dos 12 ultimos meses dividido pela média do risco dos 12 ultimos meses
Não estou conseguindo colocar essa condição dentro da expressão.
Obrigado pela ajuda
Vou gerar um exemplo para você
Segue o exemplo do AsOf para acumular 12 meses a partir do que foi selecionado
Antonio,
A resolução do Yuri te atendeu? Se sim, por favor, encerre a thread e marque a resposta dele como correta.
Do contrário, avise-nos para que possamos lhe ajudar.
Abs e Sucesso!
Oi Thiago! Ainda não porque o arquivo disponibilizado pelo Yuri não permite carregar, acho que por ser QlikView.
Exatamente Antonio. O Yuri te mandou um qvw (extensão de arquivos do QlikView). Como você utiliza o Sense, a extensão utilizada é a qvf.
Embora no editor de script do Sense daria pra usar o Binary pra ler o arquivo e "consumir" os dados que o Yuri utilizou.
Mas enfim, segue o script que o nicolett.yuri te mandou:
///$tab f. CriaCalendario
SUB CriaCalendario(vDataInicio,vDataFim,vNomeCalendario)
LET vNomeCalendario = If(Len('$(vNomeCalendario)')=0,'Calendario','$(vNomeCalendario)');
[$(vNomeCalendario)]:
LOAD
Distinct
Year(Data_) as [Ano_],
Month(Data_) as [Mes_],
Date(MonthStart(Data_), 'MMM/YYYY') as [MesAno_];
LOAD
Date('$(vDataInicio)'+(Iterno()-1),'$(DateFormat)' ) as Data_
AutoGenerate 1 While (Num('$(vDataInicio)')+(Iterno()-1)<= Num('$(vDataFim)'));
ENDSUB;
///$tab CalendarioAsOf
TRACE ;
TRACE
**********************************************************************
//Criando o calendário
LET vDataInicio = MakeDate(2016,1,1);
LET vDataFim = MakeDate(2017,12,31);
Call CriaCalendario('$(vDataInicio)','$(vDataFim)','Calendario')
AsOfCalendario:
LOAD
Distinct
MesAno_ as pk_Calendario,
Ano_ as Ano,
Mes_ as Mes,
MesAno_ as MesAno,
Ano_ as AsOfAno,
Mes_ as AsOfMes,
MesAno_ as AsOfMesAno,
1 as FlagAsOfCalendarioComum
RESIDENT Calendario;
/* Calendário AsOf de 12 meses anteriores em relação ao selecionado. */
CONCATENATE (AsOfCalendario)
AsOf12Meses:
LOAD
*
WHERE
pk_Calendario >= MonthStart(AddMonths(AsOfMesAno,-12));
LOAD
DISTINCT
Date(MonthStart( AddMonths(MesAno_, 1 - IterNo())), 'MMM/YYYY') as pk_Calendario,
MesAno_ as MesAno,
Ano_ as Ano,
Mes_ as Mes,
MesAno_ as AsOfMesAno,
Ano_ as AsOfAno,
Mes_ as AsOfMes,
1 as FlagAsOf12Meses
RESIDENT Calendario
WHILE num( MonthStart( AddMonths(MesAno_, 1 - IterNo()))) >= '$(vDataInicio)';
DROP TABLE Calendario;
///$tab Tabela Fato
Fato:
LOAD
pk_Calendario,
Rand() as Valor,
Pick(Ceil(3*Rand()),'A','B','C') as Produto
RESIDENT AsOfCalendario
WHERE
FlagAsOfCalendarioComum = 1;
Obrigado Thiago!
Ainda me confundo se o usuário esta usando Sense ou View rsrsrs
Imagina mestre, estamos aí pra isso!
Confesso que esse teu exemplo foi muito útil pra mim também. Sem perceber tenho uma questão a resolver parecida e que provavelmente vou utilizar dessa dica.
Portanto, eu que te agradeço!
Antônio,
Alguma das respostas acima solucionou seu problema?
Se sim, não deixe de fechar a thread.
Abs e Sucesso!