Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal , estou em um duvida cruel
preciso desenvolver um qvd de fornecedores
mas tenho muitas filiais com o nome parecido
Exemplo
BASF
BASF SA
BASF S/A
BASF LTDA
o que eu preciso é achar uma forma de juntar todas essas filiais em uma só
por exemplo BASF
alguem tem alguma ideia?
Roberto,
Tudo vai depender do quanto está bagunçado esses nomes, se for esse exemplo que você colocou, isso resolve:
Load MinString(Nome) as Nome
From Tab1
Group By Left(Nome,4);
Porém, ele fará isso para todas as empresas que tem os primeiros 4 caracteres iguais, o que não é muito seguro.
O que você pode fazer é criar uma tabela de relação entre os registros errados, da sequinte forma:
Errado, Certo
BASF,BASF S/A
BASF SA,BASF S/A
BASF S/A,BASF S/A
BASF LTDA,BASF S/A
Isso para todos os registros errados, como se fosse um agrupador, depois de um LEFT fazer no script fazer:
IF(IsNull(Certo),Nome,Certo) as Nome
O proplema nesse caso é que depende de intervenção humana, ou seja, suscetível a erros.
O ideal realmente é que seja corrigido o problema na fonte, com treinamento, alteração do software quando possível. Você pode criar indicadores de qualidade dos cadastros.
Da uma uma estuda em QMS (Quality Management Systems), vai lhe ajudar nessas questões.
Grande abraço.
Roberto,
Tudo vai depender do quanto está bagunçado esses nomes, se for esse exemplo que você colocou, isso resolve:
Load MinString(Nome) as Nome
From Tab1
Group By Left(Nome,4);
Porém, ele fará isso para todas as empresas que tem os primeiros 4 caracteres iguais, o que não é muito seguro.
O que você pode fazer é criar uma tabela de relação entre os registros errados, da sequinte forma:
Errado, Certo
BASF,BASF S/A
BASF SA,BASF S/A
BASF S/A,BASF S/A
BASF LTDA,BASF S/A
Isso para todos os registros errados, como se fosse um agrupador, depois de um LEFT fazer no script fazer:
IF(IsNull(Certo),Nome,Certo) as Nome
O proplema nesse caso é que depende de intervenção humana, ou seja, suscetível a erros.
O ideal realmente é que seja corrigido o problema na fonte, com treinamento, alteração do software quando possível. Você pode criar indicadores de qualidade dos cadastros.
Da uma uma estuda em QMS (Quality Management Systems), vai lhe ajudar nessas questões.
Grande abraço.
Sim cara na verdade nao esta "bagunçado" é que uma empresa tem varias filiais diferentes , por isso tem varias , isso ja é uma regra de negocio da empresa , vou tentar fazer da sua forma depois eu posto o resultado.
vlww
Concordo com o Aderlan. Você pode ficar muito vulnerável a erros no script.
Talvez, se todas começarem da mesma forma, você poderia usar uma sintaxe para trazer apenas o primeiro nome de cada filial usando o substring.
Poderia ficar assim:
Load distinct substringfield(Nome,' ',1) as Abreviacao, Nome
resident TabelaOriginal;
Espero que ajude.
Abs,
Erich