2 Replies Latest reply: Nov 1, 2012 2:30 PM by Cesar Accardi RSS

    Subtotal na dimensão

    Paulo Andre de Oliveira

      Prezados,

       

      possuo uma tabela dinamica com uma dimensão editada conforme abaixo: porem o cliente solicitou a inclusao de 3 novas linhas da seguinte forma:

       

      dimensão:

      =IF(wildmatch(%ContaContábilID,'32*','38*','361*','3114*')>0,'(C) RESULTADO FINANCEIRO*',

         IF(wildmatch(%ContaContábilID,'3111*','3112*')>0,'(A) RECEITAS',

         IF(wildmatch(%ContaContábilID,'3113*','3115*','364*','365*')>0,'(E) OUTRAS RECEITAS LÍQ.**',

         IF(wildmatch(%ContaContábilID,'33*','34*','35*','362*','363*')>0,'(B) DESPESAS',

         IF(wildmatch(%ContaContábilID,'37*')>0,'(D) IMPOSTOS' )  )  )  )  )

       

       

      porem o cliente solicitou a inclusao de 3 novas linhas da seguinte forma:

       

      Lucro Bruto = (A) RECEITAS + (B) DESPESAS

      Resultado Operacional = (A) RECEITAS + (B) DESPESAS + (C) RESULTADO FINANCEIRO + (D) IMPOSTOS

      lucro Liquido = (A) RECEITAS + (B) DESPESAS + (C) RESULTADO FINANCEIRO + (D) IMPOSTOS + (E) OUTRAS RECEITAS LÍQ

       

       

      tentei de algumas maneiras, mas sem sucesso e gostaria de saber se alguem sabe como resolver essa questão!

       

       

      obrigado

       

      Paulo Andre

        • Re: Subtotal na dimensão
          Aderlan Rodrigues

          Olá Paulo,

           

          Recomendo criar uma tabela com Pai, Filho e Descrição e usar o função "Hierarchy".

           

          Abraço.

          • Re: Subtotal na dimensão
            Cesar Accardi

            Olá Paulo,

             

            Eu sugiro que você implemente esta lógica no script de carga, eu faria da seguinte forma:

             

            INDICADORES_FINANCEIROS:
            LOAD
                 1     as ORDEM_INDICADOR,
                 'RECEITAS' as INDICADOR,
                 %ContaContábilID,
                 VALOR
            FROM MOVIMENTO_FINANCEIRO
            WHERE 
            wildmatch(%ContaContábilID,'3111*','3112*');
            
            concatenate(INDICADORES_FINANCEIROS)
            LOAD
                 2     as ORDEM_INDICADOR,
                 'DESPESAS' as INDICADOR,
                 %ContaContábilID,
                 VALOR
            FROM MOVIMENTO_FINANCEIRO
            WHERE 
            wildmatch(%ContaContábilID,'33*','34*','35*','362*','363*');
            
            (...)
            

             

            Aí na sua tabela você pode colocar como dimensão:

             

            INDICADOR

             

            Critério de Classificação:

             

            =Only({1} ORDEM_INDICADOR)

             

            Expressão:

             

            sum(VALOR)

             

            Na minha opinião, isto facilita bastante a manutenção e organização, além de melhorar a performance na interface.

             

            Abraços,

             

            Cesar Accardi