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'.
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
];
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 |
---|---|---|---|---|---|---|---|---|---|---|---|
0040009116 | 0040012479 | 0040016160 | 0060006047 | Doc. De Fatura | Doc. Negociação de Fatura | Doc. Negociação de Fatura | Doc. Cancelamento de Fatura | 303440,00 | 271035,94 | 273310,29 | 109945,78 |
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
Feeling Qlikngry?
Muito obrigado Robert!!
Mas como ficaria o código com vários documentos? Anexei um pedaço da base.
Desde já Obrigado,
Seu conjunto de dados é muito diferente do que você postou antes.
Por exemplo , como você determina NDoc.Pai para NoDoc 0040008824 ?
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.
Caros,
Teria alguma ideia de como resolver ?
Obrigado.
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 |
---|---|---|---|---|---|---|---|---|---|---|---|
0040009116 | 0040012479 | 0040016160 | 0060006047 | Doc. De Fatura | Doc. Negociação de Fatura | Doc. Negociação de Fatura | Doc. Cancelamento de Fatura | 303440,00 | 271035,94 | 273310,29 | 109945,78 |
Caro Alessandro funcionou perfeitamente muito obrigado!!