4 Replies Latest reply: Feb 17, 2012 4:53 AM by Juliana Holstein RSS

    Função Above

      Pessoal, estou com um probleminha na utilização da função above. É o seguinte:

       

      Em um campo estou fazendo a seguinte soma:

       

      Valor do mês anterior da tabela

      +

      Valor do mês anterior selecionado, do ano anterior.

       

      Estou usando a seguinte fórmula:

       

      Above((Sum({$<PROJECAO_DT_ANO={$(=Only(PROJECAO_DT_ANO)-1)}>}  PROJECAO_QT_PRODUTO*PROJECAO_PRECO_UNIT_FATURADO)) ,1)

      +

      Above(sum(PROJECAO_PESO_LIQUIDO * PROJECAO_PRECO_UNIT_FATURADO),1)   

       

      Exemplo prático:

       

      Mes de fevereiro de 2012:  Soma de Janeiro de 2012  + Soma de Janeiro de 2011.

       

      Meu problema:
      O ano de janeiro de 2012, por exemplo, eu tenho que buscar os valores de dezembro de 2011, mas daí a utilização do Above na minha fórmula não funcionou. Fica em branco... Alguém tem alguma dica?

       

      Segue o print da tabela.

       

      Desde já agradeço.

      Juliana Holstein.

        • Função Above
          Aderlan Rodrigues

          Juliana, esse comportamento do Above está normal, ele pega a linha anterior, então, você terá que fazer uma condicional. Faça um "IF" pegando o ano anterior se o valor for zero ou nulo, dê uma olhada nisso.

           

          Abraço.

            • Re: Função Above

              Olá Aderlan, tudo bem?

              Obrigada pela dica, fiz um IF para testar quando é Janeiro, daí faz outro cálculo conforme o gerente me pediu.

              Porém tenho uma dúvida ainda, veja se pode me ajudar.

               

              A fórmula que estou utilizando para tratar o meu campo meta  (projeção) é o seguinte:

               

              If (GetFieldSelections(DS_TIPO_PROJECAO) = '% Crescimento Ano',
                  (Sum({$<PROJECAO_DT_ANO={$(=only(PROJECAO_DT_ANO)-1)}>} PROJECAO_QT_PRODUTO*PROJECAO_PRECO_UNIT_FATURADO))  * (TESTE)  
                   +
                   Sum({$<PROJECAO_DT_ANO={$(=only(PROJECAO_DT_ANO)-1)}>} PROJECAO_QT_PRODUTO*PROJECAO_PRECO_UNIT_FATURADO),
                  
              If (GetFieldSelections(DS_TIPO_PROJECAO) = 'Entrada de Dados',
                  (((Sum({$<PROJECAO_DT_ANO={$(=only(PROJECAO_DT_ANO)-1)}>}  PROJECAO_QT_PRODUTO * PROJECAO_PRECO_UNIT_FATURADO)) * (w_var_projecao))
                   +
                   Sum({$<PROJECAO_DT_ANO={$(=only(PROJECAO_DT_ANO)-1)}>}  PROJECAO_QT_PRODUTO * PROJECAO_PRECO_UNIT_FATURADO)),
                  
              If(GetFieldSelections(DS_TIPO_PROJECAO) = 'Soma Mês',
                 ((Sum({$<PROJECAO_DT_ANO={$(=Only(PROJECAO_DT_ANO)-1)}>}  PROJECAO_QT_PRODUTO*PROJECAO_PRECO_UNIT_FATURADO))
                  +
                 (Sum({$<PROJECAO_DT_ANO={$(=Only(PROJECAO_DT_ANO)-2)}>}  PROJECAO_QT_PRODUTO*PROJECAO_PRECO_UNIT_FATURADO))),
              If (PROJECAO_DT_MES = 'jan',
                 (Sum({$<PROJECAO_DT_ANO={$(=Only(PROJECAO_DT_ANO)-1)}>}  PROJECAO_QT_PRODUTO*PROJECAO_PRECO_UNIT_FATURADO)
                  +
                  Sum({$<PROJECAO_DT_ANO={$(=Only(PROJECAO_DT_ANO))}>}  PROJECAO_QT_PRODUTO*PROJECAO_PRECO_UNIT_FATURADO)),

                  If(GetFieldSelections(DS_TIPO_PROJECAO) = 'Teste',
                     Sum({$<PROJECAO_DT_ANO={$(=Only(PROJECAO_DT_ANO)-1)}>}  PROJECAO_QT_PRODUTO*PROJECAO_PRECO_UNIT_FATURADO)
                     +
                     Above(sum(PROJECAO_QT_PRODUTO * PROJECAO_PRECO_UNIT_FATURADO),1) 
                    )
                  )
                 )
                )

               

              O meu problema está no último IF  (= teste), que esta em negrito.

              Pensa que eu tenho um campo Meta, onde está esta fórmula,

              Atualmente na opção TESTE eu somo o valor do mes selecionado do ano anterior +

              a soma do valor que foi faturado no mes anterior.
              Por exemplo: FEV 2012 =  Fev2011 +  realizado de Jan/2012.

               

              MAs o que eu preciso que em FEV 2012 fique =  Fev2011 + Valor Meta projetado de JAN/2012.


              Eu consigo utilizar o ABOVE, utilizando o mesmo campo onde esta a fórmula, no caso o meu campo Meta?

               

              Veja  meu print, tenho o campo META e o campo REALIZADO, no quadrinho a direita. Atualmente no campo meta,que tem a fórmula acima, uso o ABOVE do campo realizado, para trazer o valor do mes anterior, mas eu preciso trazer o valor do mes anterior, do próprio campo meta.

               

              proje.jpg

               

              Alguma dica,

               

              Desde já grata pela atenção dispensada.

               

              Abs,
              Juliana.

                • Re: Função Above
                  Aderlan Rodrigues

                  Olá Juliana, desculpe a demora em responder, essa semana tem cido corrida.

                   

                  Bom... Vamos lá... Tomei um susto com suas formulas! Rsrsrsr...

                   

                  Não lembro exatamente o que pode ou não com above, teria que fazer testes, mas tente reaproveitar as formulas, seja usando variáveis ou os nomes das expressões, quando possível.

                   

                  Tente usar o above no nome das expressões, assim, você pegará o resultado delas, sem precisar refazer todo a formula.

                   

                  Abraço.

                   

                  Veja exemplo do uso dos nomes das expressões:

                  Expressões.png