Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde,
Gostaria de saber se há a possibilidade de realizar um autopreenchimento em linhas nulas, porém eu precisava comparar a linha anterior e a posterior a ela que estiverem preenchidas(pois pode haver uma sequencia de linhas nulas) e ver se são iguais, se sim, substituir o espaço em branco com o mesmo valor.
EX:
Conforme a imagem, eu preciso que o CEP '12345680' seja preenchido com o COD_MUN '2222', pois ele está entre os CEP's '12345679' e '12345681' que correspondem ao mesmo COD_MUN '2222'.
Obs: a tabela está ordenada por COD_MUN
obrigado!
TESTE:
LOAD
CEP,
NUM (COD_MUNICIPIO) as COD_MUNICIPIO;
LOAD * INLINE [
CEP, COD_MUNICIPIO
12345678, 1111
12345679, 2222
12345680,
12345681, 2222
12345682, 3333
];
TESTE_FINAL:
LOAD
*,
Alt(COD_MUNICIPIO,Previous(COD_MUNICIPIO)) AS COD_MUN
Resident TESTE;
DROP TABLE TESTE;
DROP FIELD COD_MUNICIPIO;
if(isnull(COD_MUN), Previous(COD_MUN),COD_MUN) as COD_MUN
Mas Julio,
desta forma você corre risco....
O ideal seria achar uma tabela (sei que os correios vendem) com CEPs e pegar a cidade correta.....
Boa tarde Julio,
Quanto à solução no script, o mestre afurtado já te respondeu. Agora quanto ao risco mencionado pelo mestre, caso queira, há um projeto open source que visa conceder gratuitamente acesso a essas tabelas que os Correios só fornecem por meio de pagamento.
Segue o link: CEP Aberto, base de CEPs colaborativa e API de CEPs grátis
Ou, caso prefira, podes comprar acesso à base na loja virtual dos Correios:http://shopping.correios.com.br/wbm/store/script/wbm2400902p01.aspx?cd_company=ErZW8Dm9i54=&cd_depar...
No mais, abraços e sucesso!
Obrigado Thiago, pela indicação.
curti a ideia do site, mas infelizmente eles ainda estão em fase de desenvolvimento, vou ficar acompanhando!!
Não funcionou aqui, os campos continuaram como nulos.
Exatamente Julio, estão em processo de desenvolvimento. Mas baixei algumas tabelas deles e há muita coisa já. Enfim, também permanecerei acompanhando e em caso de outra dica nesse sentido posto aqui no fórum.
Abs
Julio,
Teste dessa forma...aqui funcionou.
TESTE:
LOAD * INLINE [
CEP, COD_MUNICIPIO
12345678, 1111
12345679, 2222
12345680,
12345681, 2222
12345682, 3333
];
TESTE_FINAL:
LOAD
*,
Alt(COD_MUNICIPIO,Previous(COD_MUNICIPIO)) AS COD_MUN
Resident TESTE;
DROP TABLE TESTE;
Ainda continua vindo os campos nulos..
Julio, os campos ditos nulos contém algo como - ou são apenas espaços 'vazios'?
Se houver a ocorrência de -, por exemplo, podemos tratar isso.