Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal, boa tarde!
Estou com uma dúvida, onde peço ajuda de vocês para se possível me ajudar. Bom, estou fazendo um Join entre algumas tabela para classificar os dados, visando facilidade de trabalhar no Set Analysis. A primeira deu certo, contudo, gostaria de fazer uma outra condição e é aí que estou travando. Abaixo disponibilizo o script:
// ----- CLASSIFICAÇÃO SITUAÇÃO PDV ----- //
Table1:
LOAD clienteID,
statusPDV
FROM
Join
Table2:
// SISTEMA 1
LOAD clienteID,
numeroTerminal
FROM
Where
(Situação = 'Ativo' or
Situação = 'Credenciado' );
Join
Table3:
// SISTEMA 2
LOAD clienteID,
numeroTerminal
FROM
Where
(Situacao = 'Em Instalacao' or
Situacao = 'Em Operacao' or
Situacao = 'Inoperante' );
Join
Table4:
//VENDA LOCAL 1
LOAD clienteID,
valorBruto,
tipoProduto
FROM
Where
(Negócio <> 'Produto Fisico');
Join
Table5:
//VENDA LOCAL 2
LOAD clienteID,
valorBruto,
tipoProduto
FROM
Join
Table6:
//VENDA LOCAL 3
LOAD clienteID,
valorBruto,
tipoProduto
FROM
[VERIFICAÇÃO SITUAÇÃO PDV]: ------------ FUNCIONOU
LOAD clienteID,
if(statusPDV = 'INATIVO' and isnull(valorBruto) and isnull(numeroTerminal),null(),'Sim') as verificacaoSituacaoPDV
Resident Table1;
[VERIFICAÇÃO TIPO CLIENTE]: ------------ NÃO FUNCIONOU
LOAD clienteID,
if(statusPDV = 'INATIVO' and isnull(valorBruto) and isnull(numeroTerminal),null(),if(isnull(valorBruto) and isnull(numeroTerminal),'Físico','Eletrônico')) as verificacaoTipoCliente
Resident Table1;
DROP Table Table1;
O problema é que ele acaba sinalizando tanto cliente Físico quanto Eletrônico, porém notem que pela regra acima não deveria ocorrer isso no cliente abaixo:
Saberiam me dizer onde estou errando?
Alessandro,
Aí é que está, tanto o right quanto o left o resultado é o mesmo. Preciso adicionar apenas uma condição ao valorBruto para que dê certo, aí eu poderia utilizar tanto 1 / 0 ou até mesmo 'Físico' / 'Eletrônico'. Fiz o seguinte código no scrit:
Right Join
LOAD
clienteID,
If(Count(numeroTerminal) = 0 and Sum(valorBruto) = 0,'Físico','Eletrônico') as verificacaoTipoCliente
Resident [Table1]
Group By clienteID;
DROP Table Table1;
Porém preciso enquadrá-la na seguinte fórmula do Set Analysis:
If(Count(numeroTerminal) = 0 and Sum(tipoProduto={'Eletrônico'}>} valorBruto) = 0,'Físico','Eletrônico')
A condição em vermelho que não estou conseguindo adicionar no Group By. Se adicionar esta condição no script resolvemos o problema, Abraço!
Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada