Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Estou precisando criar em uma tabela de fluxo de caixa um saldo retroativo. Preciso expor isso em uma tabela:
Tb_Saldo | ||||||
Data Vencimento Fluxo | 11/09/2012 | 12/09/2012 | 13/09/2012 | |||
Categoria | Saldo | Acumulado | Saldo | Acumulado | Saldo | Acumulado |
a | 10,00 | 10,00 | 0,00 | 120,00 | 0,00 | 100,00 |
b | 100,00 | 110,00 | 30,00 | 150,00 | 50,00 | 150,00 |
c | 150,00 | 260,00 | 40,00 | 190,00 | 30,00 | 180,00 |
d | 50,00 | 310,00 | 10,00 | 200,00 | 20,00 | 200,00 |
e | 120,00 | 430,00 | 50,00 | 250,00 | 30,00 | 230,00 |
f | 20,00 | 450,00 | -50,00 | 200,00 | 20,00 | 250,00 |
g | -10,00 | 440,00 | 20,00 | 220,00 | 50,00 | 300,00 |
O que estou precisando é que o Saldo Inicial de "a" seja o valor acumulado de "g" do dia anterior.
Ao recarregar a app é carregado o Saldo do primeiro dia que ai no caso é o dia 11/09/2012, mas não funciona para os demais dias
-Estou fazendo o seguinte tratamento para a coluna Saldo:
if(OPERACAO = 'SALDO' and date(DATA_VENCIMENTO_FLUXO,'DD/MM/YYYY') = today('DD/MM/YYYY'), SUM(VALOR_SALDO),
if(OPERACAO = 'SALDO' and date(DATA_VENCIMENTO_FLUXO,'DD/MM/YYYY') > today('DD/MM/YYYY') ,Bottom([acumulado]),//if(OPERACAO = 'SALDO' ,Bottom(Before(VALOR_SALDO)),//ABOVE(SUM(VALOR_SALDO)),
if(OPERACAO = 'RECEBIMENTO', SUM(VALOR_SALDO),
IF(OPERACAO = 'PAGAMENTO', SUM(VALOR_SALDO),//*-1,
)
)
)
-Estou fazendo o seguinte tratamento para a coluna Acumulado:
=RangeSum(Above(Total Sum(VALOR_SALDO),0,RowNo()))
Ela vem com o valor '0,00' realmente. Mas infelizmente sempre tento utilizar o peek() no script ele me retorna Expressão Inválida. E ao tentar utilizá-lo no gráfico ele não reconhece... e traz os saldos todos vazios.
estranho então isso deve funcionar:
if(Acumulado ='0,00' or IsNull(Acumulado), Peek(Acumulado),Acumulado) AS SALDO
vc está colocando ele no extrator?Por que você primeiro extrair da base, colocar em um QVD e em seguida carrega o arquivo certo?
Por seu tiver com Qvd conectando direto na base de dados e pegando de lá não vai funcionar o Peek. Peek é uma função de Script nao pode ser usado em graficos.
Até por Boas praticas no Qlikview é recomendado isso, fazer um "extrator" e um "Document"
Obs: O peek tem que ser depois do Load assim:
Load
if(ACUMULADO = '0,00', Peek(Acumulado),Acumulado) AS SALDO
Isso mesmo, foi feito a transformação e estou carregando de um .qvd,
Não sei onde estou errando, mas sempre me retorna Erro na Expressão:
if(FC_OPERACAO = 'S' and date(DATA_VENCIMENTO_FLUXO,'DD/MM/YYYY') = today('DD/MM/YYYY'), SUM(VALOR_SALDO),
if(FC_OPERACAO = 'S' and date(DATA_VENCIMENTO_FLUXO,'DD/MM/YYYY') > today('DD/MM/YYYY'), Bottom(TOTAL),
if(VALOR_SALDO = '0,00'or IsNull(Acumulado), Peek('VALOR_SALDO',VALOR_SALDO)) AS VALOR_SALDO,
Bom Dia
('VALOR_SALDO',
Remover a aspa simples do valor saldo por que ela é um campo caregado do extrator, certo?
e o Peek a "()" ele também esta pegando 2 valores.
fica assim:
if(FC_OPERACAO = 'S' and date(DATA_VENCIMENTO_FLUXO,'DD/MM/YYYY') = today('DD/MM/YYYY'), SUM(VALOR_SALDO),
if(FC_OPERACAO = 'S' and date(DATA_VENCIMENTO_FLUXO,'DD/MM/YYYY') > today('DD/MM/YYYY'), Bottom(TOTAL),
if(VALOR_SALDO = '0,00', Peek(VALOR_SALDO),VALOR_SALDO) AS VALOR_SALDO,