Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
alan_aquino
New 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

];

1 Solution

Accepted Solutions
MVP
MVP

Re: Cascateamento documentos (Loop)

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

7 Replies

Re: Cascateamento documentos (Loop)

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
New Contributor II

Re: Cascateamento documentos (Loop)

Muito obrigado Robert!!

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

Desde já Obrigado,

Re: Cascateamento documentos (Loop)

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

alan_aquino
New Contributor II

Re: Cascateamento documentos (Loop)

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
New Contributor II

Re: Cascateamento documentos (Loop)

Caros,

Teria alguma ideia de como resolver ?

Obrigado.

MVP
MVP

Re: Cascateamento documentos (Loop)

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

alan_aquino
New Contributor II

Re: Cascateamento documentos (Loop)

Caro Alessandro funcionou perfeitamente muito obrigado!!