Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia pessoal, tudo bem?
sou iniciante na ferramenta, tenho muitas dúvidas, porém hoje preciso entender e resolver um pequeno problema, entã vamos lá:
Obs: os dados são fictícios porém o problema que estou enfrentando na empresa sengue o mesmo esquema.
Eu tenho uma tabela simples , básica , onde tenho NrPedido,NrCliente, Qtd e etc...
realizo os seguintes procedimentos:
1-Faço a extração da Tabela.
2- Dou um load na tabela afim de realizar uma fórmula matemática.(Carrego a tabela novamente)
3-Dou o Left Join na tabela 'Res'
4-Fim.
Porém quando dou o left join(Res) o somatório da quantidade é alterado, alguém pode me explicar o motivo?
Segue a tabela:
Aqui carrego a tabela e aplico a fórmula matemática:
Me retorna este valor totalmente errado, quando deveria me retornar 171.928,25:
check if the number of rows before and after the left join are the same, maybe you have some duplicated values in
Nr Ped Clie, Nr Ord Prod
Example
X:
load * inline [
Key, Nr Ped Clie, Nr Ord Prod
1, 1, A,
2, 1, A
3, 1, B
];
left join (X)
load [Nr Ped Clie], [Nr Ord Prod]
Resident X;
Result
Luiz,
conforme o maxgro mostrou, você esta dando um left join sem a chave completa e ai vai de fato ficar com os valores errados.
Acho que no left join poderia ser:
left join (Rend)
load
*,
Quantidade * "Vl Materiais" as Testando
Resident Rend;
Apliquei a solução acima e o problema consiste...
another option is
rename table Rand to tmpRand;
Rand:
noconcatenate load
*,
Quantidade * "Vl Materiais" as Testando
resident tmpRand;
drop table tmpRand;
E porque você faz um Left Join?
Porque não faz seu cálculo logo na carga, já que suas colunas estão disponíveis?
A meu ver nem join você precisaria fazer
Luiz, conforme o Clever citou acima
não é necessário o Join, apenas adicione a carga original a formula
Quantidade * "Vl Materiais" as Testando
Pois você já possui essas informações.
Clever, eu também tinha percebido isto mas imaginei que tivesse mais left joins e ao final calculava pois originalmente eram de tabelas diferentes.......e ai não comentei......
Mas se de fato são lidas da mesma, não faz sentido um left join para calcular.....