4 Replies Latest reply: Nov 6, 2013 6:04 PM by Goncalo Pereira RSS

    Ajuda com a função before/after numa pivot table

    Goncalo Pereira

      Boa tarde a todos,

       

       

      Estou aqui com um problema que ainda não consegui resolver e por isso se alguem conseguri ajudar agradecia muito.

      Para explicar o meu problema eu vou colocar aqui um exemplo do que tenho e do que pretendo obter.

       

      Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Week 9Week 10Week 11
      Value 10 3 8
      Value 20 4 6

       

      Usando a função before o que já consegui foi ir buscar o valor anterior da linha em questão ficando o exemplo no seguinte:

      Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Week 9Week 10Week 11
      Value 10033 88
      Value 20044 66

       

      Na realidade o que pretendo é usando a função before/after ir buscar o ultimo valor not null, e com isto ficar com a tabela seguinte:

      Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Week 9Week 10Week 11
      Value 100333388888
      Value 200444666666

       

      Se for possivel alguem ajudar agradecia imenso.

       

      Obrigado e abraço.

        • Re: Ajuda com a função before/after numa pivot table
          Fernando Tonial

          Olá Gonçalo,

           

          Consegui fazer via script.

           

          Segue anexo exemplo.

           

          Abraços.

          Tonial.

          • Re: Ajuda com a função before/after numa pivot table
            Goncalo Pereira

            Bom dia novamente

             

            Infelizmente ainda não consegui arranjar uma solução via "expression" e sendo assim vou colocar aqui os meus avanços.

            Imaginando que tenho o exemplo indicado:

            week 4     week 5     week 6      week 7     week 8     week 9     week 10     week 11     week 12

               3              0             0             5              0                8             0               4               0

             

            O Resultado esperado é o seguinte:

            week 4     week 5     week 6      week 7     week 8     week 9     week 10     week 11     week 12

               3              3             3             5              5                8             8              4               4

             

            Resumindo, estou a tentar criar uma "expression" que ao verificar que o valor da semana presente for = 0, irá buscar o valor da semana anterior desde que seja > 0. Pegando no exemplo anterior e nesse resultado esperado, na week 4 eu tenho o valor igual a 3, sendo assim o resultado esperado deverá ser o mesmo valor 3. Na week 5 eu já tenho o valor 0, como o valor é = 0 o que pretendo é ir recuando as semanas até encontrar um valor > 0, sendo que neste caso basta ir à semana 4 buscar o valor 3. Na week 6 exactamente a mesma situação, tenho um valor 0, devido a isso tenho de recuarnas semana até encontrar um valor > 0 e por ai adiante, originado então o Resultado esperado.

             

            A minha ultima tentativa foi usar o "RangeMaxString", mas causa-me um problema nas situações como a indicada, isto é, até à week 11 preenche tudo correctamente, mas na week 12 ao em vez de colocar o valor 4 referente à week 11 ele coloca o valor "MaxString" que neste caso é o valor 8

            week 4     week 5     week 6      week 7     week 8     week 9     week 10     week 11     week 12

               3              3             3             5              5                8             8              4               8

             

            Peço desculpa pelo testamento que estou a deixar aqui, mas se alguem tiver alguma ideia de como fazer isto "sem usar o script de reload" agradeço imenso!

             

            Obrigado a todos