3 Replies Latest reply: Sep 13, 2017 9:29 PM by pericles silva RSS

    Dados Acumulado no Sense

    rogerio ferreira

      Caros,

       

      Alguém já precisou acumular dados no Gráfico no Sense? Já tentei utilizando RangSum com Above e não consegui. A estrutura é a que está em anexo... a sintaxe utilizada para tentar fazer o acumulado foi:

       

      RangeSum(Sum({1<[VENDA_APLICACAO.CODNOMEFORNECEDOR] = $::[VENDA_APLICACAO.CODNOMEFORNECEDOR],

             [VENDA_APLICACAO.LOJA] = $::[VENDA_APLICACAO.LOJA],

             [VENDA_APLICACAO.ANO] = {"<=$(vMaxAno)"},

             [VENDA_APLICACAO.MES] = $:: [VENDA_APLICACAO.MES],

             [VENDA_APLICACAO.APLICACAO] = $::[VENDA_APLICACAO.APLICACAO]>}[VENDA_APLICACAO.LIQUIDO]),

      Above(

      Sum({1<[VENDA_APLICACAO.CODNOMEFORNECEDOR] = $::[VENDA_APLICACAO.CODNOMEFORNECEDOR],

             [VENDA_APLICACAO.LOJA] = $::[VENDA_APLICACAO.LOJA],

             [VENDA_APLICACAO.ANO] = {"<=$(vMaxAno)"},

             [VENDA_APLICACAO.MES] = $:: [VENDA_APLICACAO.MES],

             [VENDA_APLICACAO.APLICACAO] = $::[VENDA_APLICACAO.APLICACAO]>}[VENDA_APLICACAO.LIQUIDO])

      )

       

      Acredito estar faltando algum Agrr ou algo a mais, pois sei que no gráfico ao exportar para excell as linhas são exibidas como mes, ano, dia e valor. Assim, ao usar o Above, não sei se ele vai entender as linhas de acordo com as dimensões (Mes e Ano).

        • Re: Dados Acumulado no Sense
          Pablo Labbe

          Oi Rogério,

           

            Use desta forma:

           

             rangesum (above( sum(), 0, rowno()))

           

             Onde sum() e sua expressão sum com o set analysis.

            • Re: Dados Acumulado no Sense
              rogerio ferreira

              Pablo, obrigado pela ajuda, mas neste caso não funciona, pois ele acumula os anos, não os meses dentro dos anos... tive que criar uma medida para cada ano, daí sim, tanto o seu SA como o meu funcionaram.

               

              Espero que o Sense aplique logo a função "acumular" conforme o Qlikview, pois algumas funções prontas no View levam muito tempo e lógica no Sense para serem replicadas.

               

              Valeu!!!

                • Re: Dados Acumulado no Sense
                  pericles silva

                  Meu camarada, o Pablo quase acertou sua dúvida, porém só faltou o RowNo() ignorar as dimensões com o qualificador Total.

                   

                  Ou seja, quando sua tabela conter apenas uma dimensão, a do Pablo funcionará:

                  - RangeSum( Above( sum(Valor), 0, RowNo() ) )


                  Quando sua tabela conter duas ou mais dimensões, faça o RowNo() ignorar as dimensões:

                  - RangeSum( Above( sum(Valor), 0, RowNo(Total) ) )


                  Coloquei um print onde tem o Acumulado e o Acumulado Total. Dá uma olhada e verifica se essa era sua dúvida.

                  Capturar.PNG


                  Att,

                  Péricles.