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: 
Not applicable

Criando Dada e valores faltantes

Pessoal

Anexei o qvw que acho que mais facil de entender

preciso preencher data faltantes do exemplo na Loja "B" que não tem todos os dias do messes e além disso preciso pegar o valor do dia anterior e preecher no dia que não possui registro

alguem pode me ajudar com isso.

Consigo até preencher o valores faltantes Peek() mas criar a data esta sendo complicado.

9 Replies
julianacampag
Creator
Creator

Olá Julio,

Segue o exemplo para completar as datas faltantes.

Not applicable
Author

eu notei que criou as datas mas pelo que analisei os valores ainda nao preencher valor e estou com medo de fazer plano cartesiano pq tenho mais produtos e mais lojas, nascer um frankteins dessa brincadeira nao vai ? queria so completar as datas faltantes sem fazer plano cartesiano.

julianacampag
Creator
Creator

Olha Julio,

eu já trabalhei com aplicativos de financeiro e estoque em que eu fiz isso... não conheço outra maneira de fazer (embora eu tenho certeza que exista).

Para preencher os faltantes é só utilizar a função Peek.

Clever_Anjos
Employee
Employee

Veja se atende

Base:

Load date(Data) as Data, Loja, Produto, Valor Inline

[Data, Loja, Produto, Valor

41821,A,10,10

41822,A,10,20

41823,A,10,30

41824,A,10,40

41825,A,10,50

41826,A,10,50

41827,A,10,50

41828,A,10,50

41829,A,10,50

41830,A,10,50

41831,A,10,50

41832,A,10,50

41833,A,10,50

41834,A,10,50

41835,A,10,50

41836,A,10,50

41837,A,10,50

41838,A,10,50

41839,A,10,50

41840,A,10,50

41841,A,10,50

41842,A,10,50

41843,A,10,

41844,A,10,60

41845,A,10,30

41846,A,10,30

41847,A,10,30

41848,A,10,30

41849,A,10,

41850,A,10,20

41851,A,10,20

41821,B,10,20

41822,B,10,20

41823,B,10,20

41824,B,10,20

41825,B,10,20

41826,B,10,20

41827,B,10,20

41828,B,10,

41830,B,10,

41831,B,10,50

41832,B,10,50

41833,B,10,50

41834,B,10,50

41835,B,10,50

41836,B,10,50

41837,B,10,50

41838,B,10,50

41839,B,10,50

41840,B,10,50

41841,B,10,50

41842,B,10,50

41843,B,10,50

41844,B,10,50

41845,B,10,50

41846,B,10,50

41847,B,10,50

41848,B,10,50

41849,B,10,50

41850,B,10,50

41851,B,10,50

];

Tmp:

noconcatenate LOAD

  Data,

  if(Loja = peek('Loja'),Data - Peek('Data'),0) as Q,

  Loja,

  Produto,

  Valor

Resident Base

order by Loja, Data ;

Tmp2:

noconcatenate LOAD

  Date(Data + IterNo() - Q) as Data,

  Loja,

  Produto,

  //Valor,

  alt(Valor,Peek('Valor')) as Valor

Resident Tmp

While IterNo() <= Q

order by Loja, Data ;

drop table Base;

drop Table Tmp;

Not applicable
Author

Aqui na minha base real está trazendo tudo 0 nao entendo porque

Clever_Anjos
Employee
Employee

No exemplo que te mandei funcionou?

Tente postar uma amostra real dos seus dados

Not applicable
Author

Sim o exemplo funciona certinho, tentei passar issso para minha base atual, ai que deu boi na linha

Clever_Anjos
Employee
Employee

Tem como postar seu script ou uma amostra dos dados reais?

Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada

Have fun, be Qlik