Qlik Sense e Qlik View Fluxo de caixa Saldo contabil

Qlik Sense e Qlik View

Calculo de fluxo de caixa

Cenario

Calculo de fluxo de caixa em uma aplicação que possui contas a receber, contas a pagar e conciliação bancária.

Necessidade, não alterar o modelo de dados atual nem incluir na tabela fato o valor do saldo.

Tabela envolvida – Conciliação bancaria

A tabela de conciliação bancária possui diversas informações as quais não deverão ser modificadas, porém surge a necessidade , no meio do projeto de informar o saldo bancário, para as diversas contas contábeis, registro por registro.

Solução

Incluir uma nova tabela, que será vinculada à tabela de conciliação bancária onde será informado o Identificador da conciliação bancária e o saldo por conciliação.

Como existem diversa contas contábeis e a ocorrência pode ser na mesma data será definido no SQL a chave primária da conciliação bancária o número da linha na querie ( fazendo assim um registro único),

Na segunda tabela ([SALDO BANCÁRIO]), a qual conterá  a chave da conciliação e apenas o valor do saldo bancário, deverá inicialmente informar o saldo inicial, na ocorrência do primeiro registro do banco  ( conta contábil), e posteriormente o “RANGESUM” do valor com a soma do saldo da linha anterior

Código de criação da conciliação bancária:

–TABELA DA CONCILIAÇÃO BANCARIA

NoConcatenate

[CONCILIACAO]:

LOAD *;

SQL Select ROW_NUMBER() over (order by cob_num_transacao) as PKConciliacao ,

PKPagar = case cob_origem_transacao when ‘2’ then concat(convert(varchar,COB_CHAVE1_ORIGEM_TRANSACAO), ‘|’, convert(varchar,COB_CHAVE2_ORIGEM_TRANSACAO)) end,

PKReceber = case cob_origem_transacao when ‘3’ then concat(convert(varchar,COB_CHAVE1_ORIGEM_TRANSACAO), ‘|’, convert(varchar,COB_CHAVE2_ORIGEM_TRANSACAO)) end,

‘CONCILIACAO’ AS [TIPO CONTA],

COB_DATA_TRANSACAO as DATA,

Cob_Empresa AS PKEmpresa,

Cob_Filial AS PKFilial,

Cob_Num_Caixa_Banco as PKBanco,

COB_DATA_TRANSACAO as [CONCILIACAO.Data Transacao],

COB_DATA_DIGITACAO as [CONCILIACAO.Data Inclusao],

PKCredorCliente =  concat(Cob_Tipo_Credor , ‘|’, convert(varchar(10),Cob_Cod_Credor)) ,

COB_NUM_DOCUMENTO as [CONCILIACAO.Documento],

COB_NUM_FORMA_PGTO_REC,

COB_VALOR_TRANSACAO as [CONCILIACAO.Valor],

COB_HISTORICO_TRANSACAO as [Historico Transacao],

COB_CONCILIADO,

Cob_Cod_Contabil AS PKClassificacaoContabil,

COB_Tipo_Documento as PKTipoDocumentoReceber,

COB_Tipo_Documento AS PKTipoDocumentoPagar,

Cob_Forma_Pgto_Rec AS PKFormaPagamento,

COB_CHAVE1_ORIGEM_TRANSACAO AS PKDocumento

From Tab_Conciliacao_Bancaria;

— TABELA CONTENDO A CHAVE DA CONCILIACAO E O SALDO POR REGISTRO

[SALDO BANCÁRIO]:

NoConcatenate

LOAD Distinct PKConciliacao,

RANGESUM( if(PKBanco <> Previous(PKBanco), [CONCILIACAO.Valor],

IF( PKBanco = Previous(PKBanco),

RANGESUM([CONCILIACAO.Valor], Peek(SALDO))

)

)

)AS SALDO

Resident CONCILIACAO ;

CHAT
Precisando de ajuda?