5 Replies Latest reply: Feb 29, 2016 8:52 AM by Guilherme Machado RSS

    Ajuda para calcular Total de tabela dinâmica

    Guilherme Machado

      Pessoal,

       

      Preciso de ajuda para calcular o total de uma tabela dinâmica.

      Prazo Acumulado.PNG

      Estou calculando o Prazo Ponderado de pagamento, que para o mês de janeiro deveria ser igual 59,59, conforme podemos ver na coluna Prazo Ponderado Acumulado que criei apenas para que visualizassem qual o resultado esperado. Preciso que o valor apareça no Total do Prazo Ponderado.

       

      Dimensões:

      Mês/Ano Emissão: Compra.MES_ANO_EMISSAO

      Prazo Médio: Compra.PRAZO_MEDIO

       

      Métricas:

      Valor: =If(IsNull(Sum(Compra.VALOR_TOTAL)), 0, Sum(Compra.VALOR_TOTAL))

      Peso: =Sum(Compra.VALOR_TOTAL) / Aggr(NODISTINCT Sum(Compra.VALOR_TOTAL), Compra.MES_ANO_EMISSAO)

      Prazo Ponderado: =Round(Compra.PRAZO_MEDIO * ([Peso]), 0.01)

      Prazo Ponderado Acumulado: =If(IsNull(Above([Prazo Ponderado Acumulado])), 0, Above([Prazo Ponderado Acumulado])) + Round(Compra.PRAZO_MEDIO * ([Peso]), 0.01)

       

      Vi em outros posts o pessoal revolvendo questões similares com o uso do Aggr, testei aqui de diversas formas sem sucesso, acredito que seja porque o cálculo do Prazo Ponderado não utilize Sum(). O cálculo das linhas é uma multiplicação do Prazo Médio x Peso, e o Total seria a soma destas linhas.

       

      Tentei utilizar Dimensionality() e a coluna auxiliar Prazo Ponderado Acumulado, para que no caso da linha de Total (Dimensionality() = 0), calculasse o máximo da coluna Prazo Ponderado Acumulado, porém sem sucesso.

      =If(Dimensionality() = 0,

          Max([Prazo Ponderado Acumulado]),

          Round(Compra.PRAZO_MEDIO * [Peso], 0.01)

          )

       

      Alguém já passou por algum caso semelhante e conseguiu resolver?

       

      Obrigado!

       

      Guilherme