14 Replies Latest reply: May 16, 2018 1:40 PM by Fernando Castro RSS

    Visão Ano Atual x Ano Anterior

    Fernando Castro

      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?

        • Re: Visão Ano Atual x Ano Anterior
          Fernando Castro

          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.

          • Re: Visão Ano Atual x Ano Anterior
            Clever Anjos

            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)