Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
andre_tonini
Creator II
Creator II

Saldo Inicial - Fluxo de Caixa

Pessoal,

        Elaborei um cenário bem simples que lê as entradas e saídas com base em um saldo inicial definido no script.

        Estou com dificuldade de fazer ler apenas as datas que tem movimento de entrada ou saida, mas o saldo inicial ele gera pra todos os dias pra baixo.

1.png

Att,

André Tonini

Controladoria

Labels (1)
1 Solution

Accepted Solutions
Marcio_Campestrini
Specialist
Specialist

Andre

Se é o Firebird (conforme a sua imagem) troque Ceil(Today()) por CURRENT_DATE.

Márcio Rodrigo Campestrini

View solution in original post

8 Replies
Marcio_Campestrini
Specialist
Specialist

Andre

Porque você carrega as datas posteriores? Você não pode carregar somente até a data atual? Existe a possibilidade de movimentações futuras?

Márcio Rodrigo Campestrini
andre_tonini
Creator II
Creator II
Author

Olá Márcio,

       Então, eu gostaria que aparecesse apenas as datas que teve movimentação, ou de entrada ou saída, mas da forma como eu fiz...ele insiste em aparecer essas datas pra frente.

       Existe uma forma de trazer até a data da última movimentação? que no exemplo citado seria até o dia 25/05/2017.

Att,

André Tonini

Marcio_Campestrini
Specialist
Specialist

André

De novo, você pode ter movimentações futuras? Senão, você pode utilizar na sua carga data_mov <= Ceil(Today())

Márcio Rodrigo Campestrini
andre_tonini
Creator II
Creator II
Author

Olá Márcio,

      Então, não pode haver movimentação futura.
      Adicionei no script porém não deu certo, creio que eu tenha feito errado!

// ------------ Saldo Caixa ---------------- //

LOAD * INLINE [

CODIGO_PLANO, SALDO_INICIAL

86,'117203,55'

];

LOAD *,

  YEAR(LAN_DATA) AS ANO_CAIXA,

  MONTH(LAN_DATA) AS MES_CAIXA,

  DAY(LAN_DATA) AS DIA_CAIXA,

  DATE(LAN_DATA) AS DATA_CAIXA,

  '86'  AS CODIGO_PLANO;

load *;

sql select

  EMP_FIL_CODIGO,

  LAN_DATA,

  LAN_OBS,

  DOC_TIPO,

  // ENTRADA

    CASE

          WHEN LAN_PLC_DEBITO = '86'

          THEN (LAN_VALOR)

          ELSE

              0

          END

          AS VALOR_ENTRADA,

    // SAIDA

    CASE

          WHEN LAN_PLC_CREDITO = '86'

          THEN (LAN_VALOR)

          ELSE

              0

          END

          AS VALOR_SAIDA,    

           LAN_ID AS LAN_ID_CAIXA

FROM CONTABIL_LANCAMENTOS WHERE LAN_DATA > '21.05.2017' AND LAN_DATA <= Ceil(Today());

Marcio_Campestrini
Specialist
Specialist

Andre

O seu banco de dados é Oracle? Se sim, mude o comando Ceil(Today()) por Trunc(Sysdate)

Márcio Rodrigo Campestrini
andre_tonini
Creator II
Creator II
Author

Oi Márcio,

         O banco de dados é SQL o erro que acusa ao realizar a carga de dados diz respeito ao Today, tentei mudar também o comando para LAN_DATA <= Ceil(DATE(Today())) mas acusa o mesmo erro.

      22.jpg

Att,

André Tonini

Marcio_Campestrini
Specialist
Specialist

Andre

Se é o Firebird (conforme a sua imagem) troque Ceil(Today()) por CURRENT_DATE.

Márcio Rodrigo Campestrini
andre_tonini
Creator II
Creator II
Author

Grande Márcio,

     Muito obrigado pela atenção deu certo!

     Cara olha quebrei a cabeça com isso, se você morasse aqui por perto te pagava uma gelada....kkkk

Abraço e boa semana.

Att,

André Tonini