Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Left Join Alterando Valores

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:

testando.png

Aqui carrego a tabela e aplico a fórmula matemática:

testando2.png

Me retorna este valor totalmente errado, quando deveria me retornar 171.928,25:

left.png

antes.png

Labels (2)
7 Replies
maxgro
MVP
MVP

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

1.png

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

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;

furtado@farolbi.com.br
Anonymous
Not applicable
Author

Apliquei a solução acima e o problema consiste...

maxgro
MVP
MVP

another option is

rename table Rand to tmpRand;

Rand:

noconcatenate load

     *,

     Quantidade * "Vl Materiais"  as Testando

resident tmpRand;


drop table tmpRand;

Clever_Anjos
Employee
Employee

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

fmbrancher
Creator
Creator

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.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

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.....

furtado@farolbi.com.br