Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde pessoal,
Seguinte eu tenho uma tabela com os campos PRODUTO , CIDADE_LOJA , CIDADE_CLIENTE. Eu tenho uma regra onde eu precisava criar uma flag para calculo toda vez que tiver uma venda onde a CIDADE_CLIENTE seja diferente da CIDADE_LOJA, mas que exista essa CIDADE_CLIENTE em outras CIDADE_LOJA. ( ou seja quando uma loja faz uma venda em uma cidade de outra loja).
exemplo:
PRODUTO, CIDADE_LOJA, CIDADE_CLIENTE, FLAG_INVASAO
X , CURITIBA, CURITIBA, N
Y , FLORIANÓPOLIS, BLUMENAU, N
Z, FLORIANÓPOLIS, CURITIBA, S
ideias?
Boa noite Rodrigo.
Script:
Cidades_Com_Loja:
mapping LOAD * INLINE [
CIDADE_LOJA ,INVASAO
CURITIBA ,S
FLORIANÓPOLIS ,S
];
Venda:
LOAD *,
ApplyMap('Cidades_Com_Loja',if(CIDADE_LOJA <> CIDADE_CLIENTE,CIDADE_CLIENTE),'N') as FLAG_INVASAO;
LOAD * INLINE [
PRODUTO, CIDADE_LOJA , CIDADE_CLIENTE
X , CURITIBA , CURITIBA
Y , FLORIANÓPOLIS, BLUMENAU
Z , FLORIANÓPOLIS, CURITIBA
];
Resultado:
CIDADE_LOJA | CIDADE_CLIENTE | PRODUTO | FLAG_INVASAO |
---|---|---|---|
FLORIANÓPOLIS | BLUMENAU | Y | N |
CURITIBA | CURITIBA | X | N |
FLORIANÓPOLIS | CURITIBA | Z | S |
Fala Rodrigo, tudo bem meu caro?
Use o Left Join com residente nessa tabela e o Exists.
Vou tentar fazer um exemplo para você.
Como prometido, segue exemplo, porém, a resposta do Alessandro é bem melhor.
Produtos:
LOAD * INLINE [
PRODUTO, CIDADE_LOJA, CIDADE_CLIENTE
X, CURITIBA, CURITIBA
Y, FLORIANÓPOLIS, BLUMENAU
Z, FLORIANÓPOLIS, CURITIBA
];
Left Join (Produtos)
LOAD *, If(CIDADE_LOJA<>CIDADE_CLIENTE and Exists(CIDADE_LOJA,CIDADE_CLIENTE) ,'S','N') as FLAG_INVASAO
Resident Produtos;
Abraço.
Boa noite Rodrigo.
Script:
Cidades_Com_Loja:
mapping LOAD * INLINE [
CIDADE_LOJA ,INVASAO
CURITIBA ,S
FLORIANÓPOLIS ,S
];
Venda:
LOAD *,
ApplyMap('Cidades_Com_Loja',if(CIDADE_LOJA <> CIDADE_CLIENTE,CIDADE_CLIENTE),'N') as FLAG_INVASAO;
LOAD * INLINE [
PRODUTO, CIDADE_LOJA , CIDADE_CLIENTE
X , CURITIBA , CURITIBA
Y , FLORIANÓPOLIS, BLUMENAU
Z , FLORIANÓPOLIS, CURITIBA
];
Resultado:
CIDADE_LOJA | CIDADE_CLIENTE | PRODUTO | FLAG_INVASAO |
---|---|---|---|
FLORIANÓPOLIS | BLUMENAU | Y | N |
CURITIBA | CURITIBA | X | N |
FLORIANÓPOLIS | CURITIBA | Z | S |
Opa Aderlan, tudo beem sim!
Alessandro e Aderlan, obrigado pela ajuda!