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

Cascateamento documentos (Loop)

Caros

Estou precisando de uma ajuda para trazer o valor da fatura original em um documento de cancelamento no load, já que entre a fatura inicial e o cancelamento podem ocorrer renegociações. Na tabela existe os número de Doc.Pai e Doc.Filho mas não estou conseguindo montar a lógica para chegar no 'Doc. de Fatura'.

Capturar.PNG

LOAD * INLINE [

    Tipo Documento, Valor, Nº Doc. Pai, Nº Doc. Filho

    Doc. De Fatura, " 2.000,00 ", 40009116,

    Doc. Negociação de Fatura, " 1.800,00 ", 40012479, 40009116

    Doc. Negociação de Fatura, " 1.600,00 ", 40016160, 40012479

    Doc. Cancelamento de Fatura, " 1.600,00 ", 60006047, 40016160

];

Labels (2)
1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Alan, boa noite.

Seria algo assim?

Documento1 Documento2 Documento3 Documento4 Tipo Documento Tipo Documento1 Tipo Documento2 Tipo Documento3 Valor Valor_1 Valor_2 Valor_3
0040009116004001247900400161600060006047Doc. De FaturaDoc. Negociação de FaturaDoc. Negociação de FaturaDoc. Cancelamento de Fatura303440,00271035,94273310,29


109945,78

furtado@farolbi.com.br

View solution in original post

7 Replies
robert_mika
Master III
Master III

T1:

LOAD *,

RowNo() as RN

  INLINE [

    Tipo Documento, Valor, NDoc.Pai, Nº Doc.

    Doc. De Fatura, " 2.000,00 ", 40009116,

    Doc. Negociação de Fatura, " 1.800,00 ", 40012479, 40009116

    Doc. Negociação de Fatura, " 1.600,00 ", 40016160, 40012479

    Doc. Cancelamento de Fatura, " 1.600,00 ", 60006047, 40016160

];

LET varMax = Num(Peek('RN', -1, 'T1'));

T2:

load [Tipo Documento], Valor, [NDoc.Pai], [Nº Doc.],

if(RN=$(varMax),Peek('Valor',0,'T1'),'') as ValorAdj

Resident T1;

drop table T1

2015-07-25_045921.png

Feeling Qlikngry?

How To /Missing Manual(18 articles)

alan_aquino
Contributor II
Contributor II
Author

Muito obrigado Robert!!

Mas como ficaria o código com vários documentos? Anexei um pedaço da base.

Desde já Obrigado,

robert_mika
Master III
Master III

Seu conjunto de dados é muito diferente do que você postou antes.
Por exemplo , como você determina NDoc.Pai para NoDoc 0040008824 ?

alan_aquino
Contributor II
Contributor II
Author

Robert,

O intuito é encontrar do Tipo Documento "Doc. Cancelamento de Fatura" encontrar o Tipo Documento "Doc. De Fatura". O documento 0040008824 não é o fim, mas sim o início da cadeia por isso ele não tem um NDoc.Pai, na maioria dos casos são apenas  2 documentos, (um Doc. Cancelamento de Fatura para um Doc. De Fatura) mas no 1º exemplo que postei não aconteceu isso, tivemos 2 modificações até chegar no Cancelamento o que dificultou para mim. Espero ter explicado melhor, tem como ajudar ?

Desde já obrigado.

alan_aquino
Contributor II
Contributor II
Author

Caros,

Teria alguma ideia de como resolver ?

Obrigado.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Alan, boa noite.

Seria algo assim?

Documento1 Documento2 Documento3 Documento4 Tipo Documento Tipo Documento1 Tipo Documento2 Tipo Documento3 Valor Valor_1 Valor_2 Valor_3
0040009116004001247900400161600060006047Doc. De FaturaDoc. Negociação de FaturaDoc. Negociação de FaturaDoc. Cancelamento de Fatura303440,00271035,94273310,29


109945,78

furtado@farolbi.com.br
alan_aquino
Contributor II
Contributor II
Author

Caro Alessandro funcionou perfeitamente muito obrigado!!