5 Replies Latest reply: Aug 21, 2014 9:06 AM by Fernando Tonial RSS

    Criar campo calculado no script

    Luiz Cláudio Gomes

      Preciso calcular descontos de acordo com o ano de vencimento de contribuições.

      O desconto concedido é diferente para cada ano.

      Para isso criei a carga de valores no script da seguinte forma:

      Desconto:

      Load * Inline

      [Exercicio, Fator_desconto

      2007,0

      2008,0

      2009,50

      2010,40

      2011,35

      2012,30

      2013,25

      2014,10]

      ;

       

      Na sequência faço carga dos dados do SQL.

       

      SQL SELECT "Processo_ID",

          "Corretor ID" as Corretor_ID,

          "Tipo Contribuicao",

          Exercicio,

          Parcela,

      "Valor Contribuicao",

          "Data Vencimento",

          "Data Pagamento",

          "Valor Contribuicao"+Multa+Juros as "Valor Pago",

          Multa,

          Juros,

          Pago

      FROM SINCOR.dbo."Contribuicoes Sabro_Qlik";

       

      Minha questão é: como criar os campos:

      valor do desconto

      valor a pagar

       

      Como faço no script a relação entre o campo Exercicio de cada tabela para identificar o desconto a ser concedido?

        • Re: Criar campo calculado no script
          Fernando Tonial

          Olá Luiz, boa noite.

           

          Veja se assim lhe atende.

           

          MAP_Desconto:
          Mapping
          Load * Inline
          [Exercicio, Fator_desconto
          2007,0
          2008,0
          2009,50
          2010,40
          2011,35
          2012,30
          2013,25
          2014,10]
          ;
          Dados:
          LOAD
          Processo_ID
          ,Corretor_ID
          ,[Tipo Contribuicao]
          ,Exercicio
          ,FatorDesconto
          
          ,Parcela
          ,[Valor Contribuicao]
          ,[Data Vencimento]
          ,[Data Pagamento]
          ,[Valor Pago]*(1-(FatorDesconto/100)) as ValorComDesconto
          ,[Valor Pago]
          ,Multa
          ,Juros
          ,Pago;
          LOAD
          Processo_ID
          ,Corretor_ID
          ,[Tipo Contribuicao]
          ,Exercicio
          ,ApplyMap('MAP_Desconto',Exercicio) As FatorDesconto
          
          ,Parcela
          ,[Valor Contribuicao]
          ,[Data Vencimento]
          ,[Data Pagamento]
          ,[Valor Pago]
          ,Multa
          ,Juros
          ,Pago
          ;
          SQL SELECT "Processo_ID",
              "Corretor ID" as Corretor_ID,
              "Tipo Contribuicao",
              Exercicio,
              Parcela,
          "Valor Contribuicao",
              "Data Vencimento",
              "Data Pagamento",
              "Valor Contribuicao"+Multa+Juros as "Valor Pago",
              Multa,
              Juros,
              Pago
          FROM SINCOR.dbo."Contribuicoes Sabro_Qlik";
          
          
          

           

          Qlikfique-se.

          Tonial.

            • Re: Criar campo calculado no script
              Luiz Cláudio Gomes

              Bom dia Fernando

               

                Sem querer abusar de sua boa vontade, mas abusando...rsrs

              Acabei não colocando na questão a carga de uma outra tabela onde consta o descritivo das contribuições.

              E não sei como fazer essa vinculação.

               

              // Carrega os tipos de Contribuição

              SQL SELECT "Dado_ID" as "Tipo Contribuicao",

                  UPPER(Dado) as Contribuição,

                  DadDadosTipoID

              FROM SINCOR.dbo.Dados

              WHERE Dado_ID > 1668 and Dado_ID < 1672 and Dado_ID<> 1670;

               

              E sobre abusar que falei acima: vou tentar entender o script que vc escreveu, pois não adianta apenas colar e executar, certo?

              E aí vou te incomodar, se for possível, claro... rsrs

               

              Abraços

               

              Luiz Cláudio

                • Re: Criar campo calculado no script
                  Fernando Tonial

                  Olá Luiz, bom dia.

                   

                  Quando você carrega essa segunda tabela ela já efetua a associação entre as duas tabelas, pois existe um campo em comum entre elas ([Tipo Contribuicao]), ficando esse campo como chave, isso já o suficiente para a análise das informações.

                  Você realmente necessita colocar as informações de segundo SQL na mesma tabela do Primeiro SQL?

                   

                  Qlikfique-se.

                  Tonial.