Recentemente precisei contar um número de ocorrências dentro do Estado de São Paulo, determinando quais cidades eram do Interior/Litoral e quais eram da Grande São Paulo.
Como determinar essas distinções? Tive um insight: "Talvez através do CEP".
Fui pesquisar no site dos Correios sobre como eram compostos os códigos de endereçamentos postais. Nele obtive as seguintes informações:
Código de endereçamento postal
1. HISTÓRICOO Código de Endereçamento Postal (CEP), com estrutura de 5 (cinco) dígitos, foi criado pela Empresa Brasileira de Correios e Telégrafos, em Maio de 1971. Sua divulgação ao público em geral ocorreu com a publicação do Guia Postal Brasileiro, Edição 1971. Em Maio de 1992, sua estrutura foi alterada para 8 (oito) dígitos e oficializada junto ao público em geral, com a publicação do Guia Postal Brasileiro, Edição 1992.2. DEFINIÇÃOO Código de Endereçamento Postal é um conjunto numérico constituído de oito algarismos, cujo objetivo principal é orientar e acelerar o encaminhamento, o tratamento e a distribuição de objetos de correspondência, por meio da sua atribuição a localidades, logradouros, unidades dos Correios, serviços, órgãos públicos, empresas e edifícios.3. FINALIDADEA finalidade do CEP é racionalizar os métodos de separação da correspondência por meio da simplificação das fases dos processos de triagem, encaminhamento e distribuição, permitindo o tratamento mecanizado com a utilização de equipamentos eletrônicos de triagem.
4. ESTRUTURAO CEP está estruturado segundo o sistema decimal, sendo composto de Região, Sub-região, Setor, Subsetor, Divisor de Subsetor e Identificadores de Distribuição, conforme demonstrado a seguir:
O Brasil foi dividido em dez regiões postais para fins de codificação postal, utilizando como parâmetro o desenvolvimento sócio-econômico, bem como os fatores de crescimento demográfico de cada Unidade da Federação ou conjunto delas. A distribuição do CEP foi feita no sentido anti-horário a partir do estado de São Paulo, pelo primeiro algarismo.
Com base no exemplo acima e nas ilustrações a seguir, apresentamos o significado de cada dígito do Código de Endereçamento Postal e sua localização geográfica no cenário da codificação nacional.O primeiro algarismo representa a Região Postal 1 (Interior do Estado de São Paulo).
Cada Região Postal foi dividida em 10 sub-regiões que são indicadas pelo segundo algarismo do CEP. No nosso exemplo, os dois primeiros algarismos estão representando a Sub-Região 13, cuja sede neste caso é a cidade de Campinas.
Cada Sub-Região foi dividida em 10 Setores que são representados pelo terceiro algarismo.No nosso exemplo, os três primeiros algarismos estão representando o Setor 131, cuja sede também é a cidade de Campinas.
Cada Setor foi dividido em 10 sub-setores que são representados pelo quarto algarismo.No nosso exemplo, os quatro primeiros algarismos estão representando o Sub-Setor 1316, cuja sede é a cidade de Artur Nogueira.Cada Sub-Setor foi dividido em 10 divisores que são representados pelo quinto algarismo.No nosso exemplo, os cinco primeiros algarismos estão representando o Divisor 13165, cuja sede é a cidade de Engenheiro Coelho.
Os três algarismos após o hífen são denominados de SUFIXO e destinam-se à identificação individual de Localidades, Logradouros, Códigos Especiais e Unidades do Correio, conforme o seguinte:Localidades não codificadas por logradouros (possuem um único CEP):
- Faixa de Sufixos utilizada: 000 a 999- Caixas Postais Comunitárias: 990 a 998Localidades codificadas por logradouros:Faixa de Sufixos utilizada: 000 a 899- Logradouros:Faixa de Sufixos utilizada: 900 a 959- Códigos Especiais:
Assim que compreendi a composição detive-me em implementar um script simples que pudesse retornar um posicionamento da região:- CEPs Promocionais: Faixa de Sufixos utilizada: 960 a 969- Unidades dos Correios: Faixa de Sufixos utilizada: 970 a 989 e 999.- Caixas Postais Comunitárias: Faixa de Sufixos utilizada: 990 a 998
Function DefineRegiaoCEP (nCEP As Variant) As String' Função criada para detectar, através do CEP, as regiões do Estado de São Paulo.' Author: André Luiz Bernardes - bernardess@gmail.com' Date: 26|09|2012 - 18:25Dim nCD As DoubleIf IsNull(nCEP) = False ThenLet nCD = Val(Left(Trim(Replace(nCEP, "–", "")), 5))If nCD >= 1000 And nCD <= 9999 ThenLet DefineRegiaoCEP = "Grande São Paulo"ElseIf nCD >= 11000 And nCD <= 19999 ThenLet DefineRegiaoCEP = "Interior e litoral de São Paulo"End IfElseLet DefineRegiaoCEP = "CEP Indeterminado"End IfEnd Function
Desenvolvi um SELECT para extrair os primeiros dados da minha tabela Table_Vendor:
SELECT ReturnCity([Cidade]) AS City, DefineRegiaoCEP([CEPs]) AS [Perfil CEP], table_Vendor.ESP1, table_Vendor.EstadoINTO tbl_Analyse_PerfilFROM table_VendorORDER BY ReturnCity ([Cidade])
Em seguida efetuei a contagem na tabela criada a partir do SELECT anterior:
SELECT tbl_Analyse_Perfil.Estado, tbl_Analyse_Perfil.City AS Cidade, tbl_Analyse_Perfil.[Perfil CEP], tbl_Analyse_Perfil.Profile AS Especialidade, Count(tbl_Analyse_Perfil.Profile) AS NºFROM tbl_Analyse_PerfilGROUP BY tbl_Analyse_Perfil.Estado, tbl_Analyse_Perfil.City, tbl_Analyse_Perfil.[Perfil CEP], tbl_Analyse_Perfil.ProfileHAVING (((tbl_Analyse_Perfil.City)<>"") AND ((tbl_Analyse_Perfil.[Perfil CEP])<>""))ORDER BY tbl_Analyse_Perfil.City, tbl_Analyse_Perfil.[Perfil CEP], Count(tbl_Analyse_Perfil.Profile)
O resultado ao se exportar para o MS Excel numa Pivot Table foi:
Referência: Correios
Nenhum comentário:
Postar um comentário