Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
andre_tonini
Contributor 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

Tags (1)
1 Solution

Accepted Solutions
MCampestrini
Valued Contributor

Re: Saldo Inicial - Fluxo de Caixa

Andre

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

Márcio Rodrigo Campestrini
8 Replies
MCampestrini
Valued Contributor

Re: Saldo Inicial - Fluxo de Caixa

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
Contributor II

Re: Saldo Inicial - Fluxo de Caixa

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

MCampestrini
Valued Contributor

Re: Saldo Inicial - Fluxo de Caixa

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
Contributor II

Re: Saldo Inicial - Fluxo de Caixa

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());

MCampestrini
Valued Contributor

Re: Saldo Inicial - Fluxo de Caixa

Andre

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

Márcio Rodrigo Campestrini
andre_tonini
Contributor II

Re: Saldo Inicial - Fluxo de Caixa

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

MCampestrini
Valued Contributor

Re: Saldo Inicial - Fluxo de Caixa

Andre

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

Márcio Rodrigo Campestrini
andre_tonini
Contributor II

Re: Saldo Inicial - Fluxo de Caixa

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