3 Replies Latest reply: Apr 4, 2014 1:16 PM by Fernando Tonial RSS

    Calculos em Pivot Tables

      Viva!

       

      Estou com dificuldade em perceber porque é que uma fórmula usada numa coluna de uma Pivot Table, só funciona em alguns casos, será bug do Qlik view?

       

      O que acontece é que tenho uma Pivot Table com duas dimensões Mês/Dia  e com uma coluna onde é apresentado o valor acumulado de 2013 e outra com o valor acumulado de 2012.

      Também utilizo duas variáveis vAnoSelecionado e vAnoAntSelecionado. A primeira tem o valor do ano que está selecionado (neste exemplo é 2013) e a segunda tem o valor do ano anterior (neste exemplo é 2012).

       

      Para o calculo do acumulado de 2013 utilizei a formula:

      (RangeSum(Above(TOTAL Sum({<Ano={$(vAnoSelecionado)}>} AggrVenda),0,RowNo(TOTAL))),Data)

      ... que funciona perfeitamente.

       

       

      Similarmente, para o acumulado de 2012 utilizei a formula:

      (RangeSum(Above(TOTAL Sum({<Ano={$(vAnoAntSelecionado)}>} AggrVenda),0,RowNo(TOTAL))),Data)

      ... que não funciona.

       

      Não percebo porquê, a única diferença entre as formulas é a variável. Já tentei fazer o mesmo com os valores fixos 2013 e 2012, e o resultado foi o mesmo, ou seja, apenas funciona para o 2013 e não funciona para 2012.

       

      Apresento uma imagem exemplificativa com dados fictícios:

       

      20140404-161136.jpg

       

       

       

      Agradeço ajuda.

       

       

      Cumprimentos,

      Eduardo Ribeiro

        • Re: Calculos em Pivot Tables
          Aderlan Rodrigues

          Olá Eduardo,

           

          Dá uma olhada no F1, o Above e o Before tem características diferentes em tabelas dinâmicas.

           

          Retirado do QlikView Help:

          rangeavg (above(sum(x),1,3))retorna uma média dos três resultados da função sum(x) avaliada nas três linhas imediatamente acima da atual.

           

          rangeavg (before(sum(x),1,3))

          retorna uma média dos três resultados da função sum(x) avaliada nas três colunas imediatamente à esquerda da atual.

           

          Abraço.

            • Re: Calculos em Pivot Tables

              Olá Aderlan,

               

              Eu já verifiquei o Help, mas o meu caso não se prende com a seleção da coluna a acumular.

              O acumulado faz-se pelo valor do campo AggrVenda, que é carregado no script.

               

              O meu problema é que alterando a instrução:

              (RangeSum(Above(TOTAL Sum({<Ano={2013}>} AggrVenda),0,RowNo(TOTAL))),Data)

              ... funciona, sendo o '2013' o ano selecionado, e a instrução:

              (RangeSum(Above(TOTAL Sum({<Ano={2012}>} AggrVenda),0,RowNo(TOTAL))),Data)

              ... não funciona, sendo o '2012' o ano anterior ao selecionado.

               

              Obrigado.