4 Replies Latest reply: Mar 9, 2017 12:38 PM by Sávio Bueno RSS

    Expressão calculada

    Sávio Bueno

      Olá a todos.


      Galera, estou precisando de uma luz de vocês em relação a uma expressão a ser utilizada em um gráfico, onde tenho um valor informado em uma variável (vValorContratado) que vai decrescendo em relação ao Valor Executado (consumo).

      O gráfico deve apresentar o Valor Executado (consumo), com sua média, e o Valor Contratado (Saldo disponível) atualizado por mês.

      ValorExecutado.jpg

      Fiz numa planilha do excel ,a simulação dos valores, de como devem ser apresentados, onde a formula seria:

      Mês (Dimensão)Total MensalSaldo Disponível
      Mar729.594,49R$ 7.638.817,00
      Abr802.661,31R$ 6.836.155,70
      Mai756.010,01R$ 6.080.145,69
      Jun808.283,62R$ 5.271.862,07
      Jul788.002,24R$ 4.483.859,83
      Ago839.573,62R$ 3.644.286,21
      Set835.640,39R$ 2.808.645,82
      Out782.371,99R$ 2.026.273,83
      Nov825.732,10R$ 1.200.541,73
      Dez799.209,25R$ 401.332,48

      Lembrando que o valor contratado, utilizado na primeira conta é de R$ 8.368.411,49, ou seja: vValorContratado - Sum(SaldoDisponivel) sendo 8.368.411,49 - 729.594,49 = 7.638.817,00.

      Em Abril o valor a ser calculado como Valor Contratado é 7.638.817,00 - 802.661,31 = 6.836.155,70 e assim por diante. É aí que não estou conseguindo resolver e conto com o apoio de vocês.

      Agradeço antecipadamente a atenção dispensada.

        • Re: Expressão calculada
          Jackson Alfonso

          Nesse post, tem uma resposta do Yuri Nicolett, que resolve essa sua questão.

           

          Re: Como preencher dinamicamente o valor de saldo de uma tabela

          • Re: Expressão calculada
            Marcel Viegas

            A ordem é o mes?

            • Re: Expressão calculada
              Sávio Bueno

              Bom senhores, consegui a solução com um grande amigo Hudson Faria, que é consultor na IN Brasília.

               

              A solução foi realizada na carga, utilizando o script abaixo:

              ________________________________________________________________________________________

              let vInicio = num(MakeDate(2016,6));
              let vQtdeMeses = 6;

              //CRIA A TABELA, PADRAO COM AS DATAS E VALORES APENAS DOS MESES QUE EXISTEM
              ExecutadoTMP:
              LOAD DATE(DATE#(Referencia,'MM/YYYY'),'MM/YYYY') as Referencia,
              ValorRenovado;
              LOAD * INLINE [
                  Referencia,     ValorRenovado
                  $(vDataValorContratado),  $(vValorContratado)
              ];

              Outer JOIN

              LOAD DATE(DATE#(Referência_EO,'YYYY/MM'),'MM/YYYY') as Referencia,
              ValorExecutado;
              LOAD
              Referência   AS Referência_EO,
              [Valor Executado] AS ValorExecutado
              FROM [..\TABELAS\Execucao_Orcamentaria.xlsx] (ooxml, embedded labels, table is Planilha1, filters(Remove(Row, Pos(Top, 11)), Remove(Row, Pos(Top, 3)), Remove(Row, Pos(Top, 2)) ));


              Concatenate

              //Cria os meses que nao existem na base e concatena na tabela de cima
              Calendario:
              LOAD DATE(AddMonths($(vInicio),(RowNo()-1)),'MM/YYYY') as Referencia
              AutoGenerate $(vQtdeMeses);

              ________________________________________________________________________________________

               

              De qualquer forma agradeço muito a atenção daqueles que tiraram seu tempo a ajudar, aqui na comunidade.

               

              Abraço.