Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
rvsilvestre
Contributor III

carga incremental

Boa tarde pessoal,

Eu tenho a seguinte situação: um grupo com 6 empresas (os dados vem da mesma tabela) e cada uma delas tem uma data de fechamento do mês diferente, na verdade essa data é lançada em uma planilha onde viria a ser uma outra tabela tipo assim:

empresa              1                2                    3              ...

mês ref.

jan/2015      05/02/2015      07/02/2015        12/02/2015  ...

fev/2015      03/03/2015   .....

eu preciso carregar as informações direto do banco do mês atual até a data de fechamento por empresa... e o restante viria do QVD com histórico.

Tem alguma forma de fazer isso em uma carga só? ou eu teria que carregar uma empresa de cada vez?

Tags (1)
1 Solution

Accepted Solutions
rvsilvestre
Contributor III

Re: carga incremental

Cara tava pesquisando, pelo que eu vi aqui, isso é um bug, onde ele não acha a tabela.

resolve de maneira muito simples

onde eu tinha :

v_dt_fechamento = peek('dt_fechamento', $(vEmpr ) - 1 , Tab1)

adicionei aspas a tab1

v_dt_fechamento = peek('dt_fechamento', $(vEmpr ) - 1 , 'Tab1')





15 Replies
lucianosv
Valued Contributor

Re: carga incremental

Boa tarde.

Até aonde eu sei, você têm que carregar o cadastro com as empresas/datas e fazer uma leitura para cada empresa se quiser fazer isso.

Re: carga incremental

Você vai ter que fazer um FOR para resolver isso e o for pegaria empresa a empresa e a data correta de fechamento.

MVP
MVP

Re: carga incremental

Tenho o mesmo pensamento do Yuri.

rvsilvestre
Contributor III

Re: carga incremental

Desculpe a demora para responder, mas tive que deixar isso de lado um pouco para fazer outra coisa...

Realmente acho que essa é a unica maneira mesmo.

Estou fazendo isso porem travei em uma parte aqui, se os senhores puderem me ajudar:

meu problema esta no peek , eu tenho meu " for each  vEmpr in 1,3,4" e tenho minha variável:

v_dt_fechamento = peek('dt_fechamento', $(vEmpr ) - 1 , Tab1)

v_mes_ref = peek('mes_ref' ,$(vEmpr ) - 1 , Tab1)

(quando eu carrego apenas as variáveis dentro do for a ideia funciona)

mas quando eu carrego a tabela fato com essas condições apenas a primeira empresa carrega, nas demais o v_dt_fechamento  e v_mes_ref vem vazio.

Se eu tiro o peek e coloco um valor fixo para essas 2 variáveis, carrega normalmente.

Não consegui entender o porque disso, se alguém puder me ajudar, agradeço.

Re: carga incremental

Bom, provavelmente seu Peek esta errado.

Vamos entender o que esta acontecendo com seu Peek dentro do for.

O primeiro passo

Peek('dt_fechamento', 0, Tab1) = Retorna o primeiro registro lido da tabela

no segundo passo

Peek('dt_fechamento', 2, Tab1) = Retorna o terceiro registro lido da tabela

no terceiro passo

Peek('dt_fechamento', 3, Tab1) = Retorna o quarto registro lido da tabela


Agora o que preciso entender é, o que você esta carregando na tabela Tab1.

rvsilvestre
Contributor III

Re: carga incremental

Então Yuri,

o que me deixo confuso foi que quando eu carrego só as variáveis no for puxando dessa TAB1, da certo ( primeiro print) ... só não da certo quando eu trago a fato.

essa é a tab1 ( os nomes tao diferentes do que eu postei, mas é isso ai, mes_ano = mes_ref)

Re: carga incremental

Segue um exemplo

rvsilvestre
Contributor III

Re: carga incremental

Então,

como eu tinha mostrado ja, ele funciona o peek dentro do for quando eu utilizo só as variáveis, mas eu preciso delas dentro do where da fato e quando eu coloco a fato, só carrega a primeira tabela, o segundo peek da erro, como se a fato carregada interferisse de alguma maneira na TAB1 ou no peek().

Re: carga incremental

Esta estranho mesmo Rodrigo. Aconteceu a mesma coisa aqui

Faz o seguinte, antes do NEXT x, grave a tabela em QVD e depois DROP a tabela.