10 Replies Latest reply: Aug 17, 2017 9:13 AM by Nara Franzen RSS

    Variável Calculada em Tabela Dinâmica

    Nara Franzen

      Olá,

       

      Estou montando um DRE, e criei a seguinte variável para usar em uma tabela dinâmica onde tenho a Receita, Impostos e Faturamento Líquido, etc..  em linhas e os meses nas colunas.

       

      vFaturamentoLiquido = Sum({$< INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês])

       

      Ela funciona perfeitamente bem se tiver um mês específico selecionado, porém ao selecionar um ano inteiro por exemplo, a variável calculada retorna o valor total do período selecionado para todos os meses. Como posso resolver esse impasse, já tentei algumas formas nas não consegui chegar a um valor.

       

      Obrigada

        • Re: Variável Calculada em Tabela Dinâmica
          FRANCISCO ROGERIO ALMEIDA DOS SANTOS

          Nara,

           

          Posso esta vendo pouco do que precisa mais você tem algumas opções por exemplo:

           

          Ignorar Ano:

          vFaturamentoLiquido = Sum({$< Ano =,INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês])


          Ignorar Mês:

          vFaturamentoLiquido = Sum({$< Mês =,INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês])


          Ignorar Ano e Mês:

          vFaturamentoLiquido = Sum({$< Ano =, Mês =,INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês])


          Ou ainda deixar a informação que você deseja já filtrada.


          vFaturamentoLiquido = Sum({$< Ano =, Mês ={"=$(month(max(data)))"} ,INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês])

            ---- Verifica a sintaxe desse não sei se esta 100%



          Espero ter ajudado.

            • Re: Variável Calculada em Tabela Dinâmica
              Nara Franzen

              Bom dia,

               

              Obrigada pela ajuda, mas na verdade, o que eu quero é exatamente o oposto, que ele considere mês e ano na análise.

              Por exemplo, se eu selecionar o ano de 2017, que tenha o resultado mês a mês nas colunas. Da forma que eu fiz, ele me mostra em todos os meses o total do faturamento líquido, eu queria que em janeiro mostrasse o total de janeiro, em fevereiro, o total de fevereiro e assim por diante.

               

              Novamente, obrigada pela ajuda.

                • Re: Variável Calculada em Tabela Dinâmica
                  Arthur Resende

                  Bom dia!

                  Para que ele mostre os meses na tabela dinâmica, você precisa adicionar o mês como uma dimensão da tabela dinâmica. Assim, quando você selecionar apenas um mês, ele mostra apenas aquele mês. Ao selecionar apenas o ano (sem o mês), ele mostra todos os meses disponíveis daquele ano.

                  Pessoalmente, eu não gosto de usar variáveis para esses cálculos, prefiro adicioná-las explicitamente nos objetos, assim meu script fica mais limpo e quem estiver usando ou editando o meu arquivo sabe exatamente a fórmula que estou usando.

                   

                  Espero ter ajudado!

                    • Re: Variável Calculada em Tabela Dinâmica
                      Nara Franzen

                      Bom dia!

                       

                      Obrigada pela ajuda, mas desculpe, não entendi direito, vou tentar me explicar melhor.

                       

                      Não fiz nada no script, foi tudo na própria tabela dinâmica, e as dimensões que eu precisava calcular fiz por variável, seguindo os passos do que descrito aqui: Criação de DRE.

                       

                      A questão é que quando quero olhar mais do que um mês, para as variáveis calculadas, ele traz a soma de todos meses selecionados, e não o valor somente daquele mês. para tentar ajudar, abaixo está a tela, com a forma que ficaram os dados, o ano de 2012 era para estar com todos os valores zerados (a base incia em 2013). Como tem outros meses selecionados, os dados que foram calculados via variável, traz o total de todos os meses selecionados que eu preciso é que venha o valor mês a mês.

                      A fórmula vFaturamentoLiquido = Sum({$< INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês]) está inserida como variável.

                      Exemplo.jpg

                       

                      Novamente, obrigada pelo auxílio..

                       

                      Nara

                • Re: Variável Calculada em Tabela Dinâmica
                  Clever Anjos
                  • Como está introduzindo a variável na expressão da medida?
                  • Se colocar Sum({$< INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês]) na medida fica certo?
                    • Re: Variável Calculada em Tabela Dinâmica
                      Nara Franzen

                      Olá,

                       

                      Tentei de duas formas:

                       

                      1 -  Na expressão da medida usar:

                      IF(INDICADOR = '3. RECEITA LÍQUIDA', vReceitaLiquida, Sum([Valor Mês]))

                      onde vReceitaLiquida é a variável que criei através do botão de variáveis que fica no canto inferior esquerdo. e a fórmula é Sum({$< INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês]).

                      Dessa forma o valor mostrado na tabela dinâmica é a soma de todos os meses selecionados, mostrada em todos os meses (mostra o mesmo valor para todos os meses, como na imagem acima).


                      2- A segunda forma foi como você sugeriu, colocar na expressão da medida a fórmula, ficando assim:

                      IF(INDICADOR = '3. RECEITA LÍQUIDA', (Sum({$< INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês])), Sum([Valor Mês]))

                      Dessa forma, retorna zero. Aparentemente não tem erro na fórmula, pois ela funciona como variável, e não funciona como parte da expressão.

                       

                      Acho que tem alguma variável que eu devo considerar e eu não estou vendo!