Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal, boa tarde!
Preciso desenvolver no QlikView um gráfico onde terei uma expressão de "Ano Atual" e outra para "Ano Anterior".
Eu criei uma variável para "Ano Atual" (vAnoAtual) e outra para "Ano Anterior" (vAnoAnterior).
Supondo que a o cálculo seja count(MATRICULA) basta eu usar:
Para "Ano Atual": count({<CALENDARIO.ANO = {'$(vAnoAtual)'}>}MATRICULA)
Para "Ano Anterior": count({<CALENDARIO.ANO = {'$(vAnoAnterior)'}>}MATRICULA)
Beleza... porém o cálculo que estou trabalhando é um pouco mais complicado e nele já utilizo a variável de ano atual + ano anterior... veja o exemplo:
IF(CALENDARIO.MES = 'jan',
Count(total{<ORIGEM={'X'} ,GRUPO ={'TESTE'},
ORIGEM={A},CALENDARIO.ANO={'$(vAnoAnterior)'},CALENDARIO.MES,MesID={11},CALENDARIO.MES_ANO=>}Distinct MATRICULA)
+
Count(total{<ORIGEM={'X'} ,GRUPO ={'TESTE'},
ORIGEM={A},CALENDARIO.ANO={'$(vAnoAnterior)'},CALENDARIO.MES,MesID={12},CALENDARIO.MES_ANO=>}Distinct MATRICULA)
+
Count(total{<ORIGEM={'X'} ,GRUPO ={'TESTE'},
ORIGEM={A},CALENDARIO.ANO={'$(vAnoAtual)'},CALENDARIO.MES,MesID={1},CALENDARIO.MES_ANO=>}Distinct MATRICULA)
,
IF(CALENDARIO.MES = 'fev', etc, etc etc...
Como já utilizo a variável no cálculo teria alguma outra forma de fazer?
Para melhorar a explicação:
isto é uma expressão que calcula taxa de retenção sobre funcionários contratados....
entao preciso somar os ultimos 3 meses a partir do mes atual, ou seja janeiro soma Jan/2018 + Dez/2017 + Nov/2017.. esse é o calculo da taxa de retenção... mas tenho isso pra todos os meses do ano.....
Veja o codigo completo antes de eu iniciar o tratamento para trazer "Ano Atual" x "Ano Anterior":
IF(CALENDARIO.MES = 'jan',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAnterior)'},CALENDARIO.MES,MesID={11},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAnterior)'},CALENDARIO.MES,MesID={12},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={1},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
,
IF(CALENDARIO.MES = 'fev',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAnterior)'},CALENDARIO.MES,MesID={12},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={1},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={2},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
,
IF(CALENDARIO.MES = 'mar',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={3},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={1},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={2},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
,
IF(CALENDARIO.MES = 'abr',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={2},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={3},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={4},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
,
IF(CALENDARIO.MES = 'mai',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={3},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={4},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={5},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
,
IF(CALENDARIO.MES = 'jun',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={4},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={5},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={6},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
,
IF(CALENDARIO.MES = 'jul',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={5},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={6},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={7},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
,
IF(CALENDARIO.MES = 'ago',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={6},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={7},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={8},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
,
IF(CALENDARIO.MES = 'set',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={9},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={7},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={8},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
,
IF(CALENDARIO.MES = 'out',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={8},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={9},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={10},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
,
IF(CALENDARIO.MES = 'nov',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={9},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={10},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={11},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
,
IF(CALENDARIO.MES = 'dez',
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={10},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={11},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
+
Count(total{<ORIGEM.ORIGEM={'NCL'} ,GRUPO_ORIGINAL={'EAD','PRESENCIAL','COMUM'},
ORIGEM.ORIGEM={A},CALENDARIO.ANO={'$(eAnoAtual)'},CALENDARIO.MES,MesID={12},CALENDARIO.MES_ANO=>}Distinct COLABORADOR.MATRICULA)
))))))))))))
preciso fazer o tratamento de "Ano Atual" x "Ano Anterior" sobre este código
o problema é que no codigo que calcula a taxa usa a variavel "eAnoAtual" e "eAnoAnterior".
qdo eu jogo no set analisis nao funciona.
criei 3 variaveis para receber os valores de Jan, Fev e Mar (criei so estes meses para testar)
e joguei no codigo:
= sum({<CALENDARIO.ANO={'$(eAnoAnterior)'}>}
IF(CALENDARIO.MES = 'jan', $(vADM90_Jan),
IF(CALENDARIO.MES = 'fev', $(vADM90_Fev),
IF(CALENDARIO.MES = 'mar', $(vADM90_Mar)))))
mas não está vindo o ano anterior... somente o ano atual... pra vir ano aterior eu tenho que selecionar o ano.
Somente o valor do ano atual quando não tenho seleção feita. Preciso que quando não tiver seleção me mostre de acordo com a variavel de ano.
Se seu requerimento for mostrar os valores dos últimos 3 meses, sugiro utilizar uma tabela AsOF (basta pesquisar aqui na comunidade)
A sua fórmula ficaria bem simples, algo do tipo
count(distinct {<AsOFFlag3Meses={1}>} COLABORADOR.MATRICULA)
Bom dia Clever!
A ideia não é mostrar apenas os ultimos 3 meses, é mostrar o todos os meses com uma barra de ano atual e outra com ano anterior.somamos 3 meses para cada mês (isto faz parte do calculo da taxa de retenção onde pegamos o mês e olhamos para ele mais os outros dois meses anteriores).
A ideia é fazer o código abaixo funcionar, porém dentro das variáveis "vADM90_..." utilizamos a variavel "eAnoAnterior". Parece que o QV está pirando pois uso esta variavel de ano dentro das variáveis "vADM90_..." e também por fora do código.
= sum({<CALENDARIO.ANO={'$(eAnoAnterior)'}>}
IF(CALENDARIO.MES = 'jan', $(vADM90_Jan),
IF(CALENDARIO.MES = 'fev', $(vADM90_Fev),
IF(CALENDARIO.MES = 'mar', $(vADM90_Mar)))))
Estou tentando te ajudar, você está indo pelo caminho mais difícil.
Reveja sua modelagem
Ahhhh entendi.... vc fala pra eu seguir por esse caminho pq assim eu não preciso usar a variavel de ano, certo?
Leia a parte do AsOf Table, vai te dar um norte bom.
No qvw em anexo tem alguns exemplos de utilização (que foram usados na apresentação)
Obrigado Yuri.
Vou dar uma estudada nisso aqui.
Fiz alguns testes aqui mas ainda não consegui aplicar a solução. De qq forma obrigado pela ajuda!!!