diff --git a/models/br_bd_diretorios_brasil/br_bd_diretorios_brasil__setor_censitario.sql b/models/br_bd_diretorios_brasil/br_bd_diretorios_brasil__setor_censitario.sql deleted file mode 100644 index 5289e615..00000000 --- a/models/br_bd_diretorios_brasil/br_bd_diretorios_brasil__setor_censitario.sql +++ /dev/null @@ -1,74 +0,0 @@ -{{ - config( - alias="setor_censitario", - schema="br_bd_diretorios_brasil", - materialized="table", - ) -}} - -with - censo_2022 as ( - select - 2022 as ano, - cd_setor as id_setor_censitario, - cd_mun as id_municipio, - cast(null as string) as id_rm, - cast(null as string) nome_rm, - cd_dist as id_distrito, - nm_dist as nome_distrito, - cd_subdist as id_subdistrito, - nm_subdist as nome_subdistrito, - cast(null as string) id_bairro, - cast(null as string) nome_bairro, - cast(null as string) sigla_uf, - cast(null as string) situacao_setor, - cast(null as string) tipo_setor, - cd_micro as id_microrregiao, - nm_micro as nome_microrregiao, - cd_meso as id_mesorregiao, - nm_meso as nome_mesorregiao, - cd_rgi as id_regiao_imediata, - nm_rgi as nome_regiao_imediata, - cd_rgint as id_regiao_intermediaria, - nm_rgint as nome_regiao_intermediaria, - cd_concurb as id_concentracao_urbana, - nm_concurb as nome_concentracao_urbana, - from - `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_morador_setor_censitario` - - ), - - censo_2010 as ( - select - safe_cast(ano as int64) ano, - safe_cast(id_setor_censitario as string) id_setor_censitario, - safe_cast(id_municipio as string) id_municipio, - safe_cast(id_rm as string) id_rm, - safe_cast(nome_rm as string) nome_rm, - safe_cast(id_distrito as string) id_distrito, - safe_cast(nome_distrito as string) nome_distrito, - safe_cast(id_subdistrito as string) id_subdistrito, - safe_cast(nome_subdistrito as string) nome_subdistrito, - safe_cast(id_bairro as string) id_bairro, - safe_cast(nome_bairro as string) nome_bairro, - safe_cast(sigla_uf as string) sigla_uf, - safe_cast(situacao_setor as string) situacao_setor, - safe_cast(tipo_setor as string) tipo_setor, - cast(null as string) id_microrregiao, - cast(null as string) nome_microrregiao, - cast(null as string) id_mesorregiao, - cast(null as string) nome_mesorregiao, - cast(null as string) id_regiao_imediata, - cast(null as string) nome_regiao_imediata, - cast(null as string) id_regiao_intermediaria, - cast(null as string) nome_regiao_intermediaria, - cast(null as string) id_concentracao_urbana, - cast(null as string) nome_concentracao_urbana - from `basedosdados-staging.br_bd_diretorios_brasil_staging.setor_censitario` - ) - -select * -from censo_2022 -union all -select * -from censo_2010 diff --git a/models/br_bd_diretorios_brasil/br_bd_diretorios_brasil__setor_censitario_2010.sql b/models/br_bd_diretorios_brasil/br_bd_diretorios_brasil__setor_censitario_2010.sql new file mode 100644 index 00000000..e2c65a9b --- /dev/null +++ b/models/br_bd_diretorios_brasil/br_bd_diretorios_brasil__setor_censitario_2010.sql @@ -0,0 +1,50 @@ +{{ + config( + alias="setor_censitario_2010", + schema="br_bd_diretorios_brasil", + materialized="table", + ) +}} + +with + tb as ( + select + safe_cast(id_setor_censitario as string) id_setor_censitario, + safe_cast(id_municipio as string) id_municipio, + safe_cast(id_rm as string) id_regiao_metropolitana, + safe_cast(id_distrito as string) id_distrito, + safe_cast(id_subdistrito as string) id_subdistrito, + safe_cast(nome_subdistrito as string) nome_subdistrito, + safe_cast(id_bairro as string) id_bairro, + safe_cast(nome_bairro as string) nome_bairro, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(situacao_setor as string) situacao_setor, + safe_cast(tipo_setor as string) tipo_setor + from + `basedosdados-staging.br_bd_diretorios_brasil_staging.setor_censitario` as t + ) + +select + a.id_setor_censitario, + a.id_municipio, + b.nome as nome_municipio, + a.id_regiao_metropolitana, + b.nome_regiao_metropolitana as nome_regiao_metropolitana, + a.id_distrito, + c.nome as nome_distrito, + a.id_subdistrito, + a.nome_subdistrito, + a.id_bairro, + a.nome_bairro, + a.sigla_uf, + a.situacao_setor, + a.tipo_setor, +from tb as a +left join + `basedosdados.br_bd_diretorios_brasil.municipio` as b + on a.id_municipio = b.id_municipio +left join + ( + select * from `basedosdados.br_bd_diretorios_brasil.distrito` where ano = 2010 + ) as c + on a.id_distrito = c.id_distrito diff --git a/models/br_bd_diretorios_brasil/br_bd_diretorios_brasil__setor_censitario_2022.sql b/models/br_bd_diretorios_brasil/br_bd_diretorios_brasil__setor_censitario_2022.sql new file mode 100644 index 00000000..8e339a7c --- /dev/null +++ b/models/br_bd_diretorios_brasil/br_bd_diretorios_brasil__setor_censitario_2022.sql @@ -0,0 +1,64 @@ +{{ + config( + alias="setor_censitario_2022", + schema="br_bd_diretorios_brasil", + materialized="table", + ) +}} + +with + tb as ( + select + safe_cast(cd_setor as string) as id_setor_censitario, + safe_cast(cd_regiao as string) as id_regiao, + safe_cast(nm_regiao as string) as nome_regiao, + safe_cast(cd_uf as string) as id_uf, + safe_cast(cd_mun as string) as id_municipio, + safe_cast(cd_dist as string) as id_distrito, + safe_cast(nm_dist as string) as nome_distrito, + safe_cast(cd_subdist as string) as id_subdistrito, + safe_cast(nm_subdist as string) as nome_subdistrito, + safe_cast(cd_micro as string) as id_microrregiao, + safe_cast(cd_meso as string) as id_mesorregiao, + safe_cast(cd_rgi as string) as id_regiao_imediata, + safe_cast(cd_rgint as string) as id_regiao_intermediaria, + safe_cast(cd_concurb as string) as id_concentracao_urbana, + safe_cast(nm_concurb as string) as nome_concentracao_urbana, + safe_cast(area_km2 as float64) as area_km2, + from + `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_morador_setor_censitario` + ) + +select + id_setor_censitario, + id_regiao, + a.nome_regiao, + a.id_uf, + b.nome as nome_uf, + a.id_municipio, + c.nome as nome_municipio, + a.id_distrito, + a.nome_distrito, + id_subdistrito, + nome_subdistrito, + a.id_microrregiao, + c.nome_microrregiao, + a.id_mesorregiao, + c.nome_mesorregiao, + a.id_regiao_imediata, + c.nome_regiao_imediata, + a.id_regiao_intermediaria, + c.nome_regiao_intermediaria, + a.id_concentracao_urbana, + a.nome_concentracao_urbana, + a.area_km2, +from tb as a +left join `basedosdados.br_bd_diretorios_brasil.uf` as b on a.id_uf = b.id_uf +left join + `basedosdados.br_bd_diretorios_brasil.municipio` as c + on a.id_municipio = c.id_municipio +left join + ( + select * from `basedosdados.br_bd_diretorios_brasil.distrito` where ano = 2010 + ) as d + on a.id_distrito = d.id_distrito diff --git a/models/br_bd_diretorios_brasil/schema.yml b/models/br_bd_diretorios_brasil/schema.yml index 5c5ab029..f4571d08 100644 --- a/models/br_bd_diretorios_brasil/schema.yml +++ b/models/br_bd_diretorios_brasil/schema.yml @@ -275,21 +275,27 @@ models: description: Seção - name: descricao_secao description: Descrição da Seção - - name: br_bd_diretorios_brasil__setor_censitario - description: Description + - name: br_bd_diretorios_brasil__setor_censitario_2010 + description: Diretório de referência para os setores censitário de 2010. Contem + o id_setor_censitario, que permite ligar informações (município, distritro, + etc) tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, id_setor_censitario] + combination_of_columns: [id_setor_censitario] columns: - - name: ano - description: Ano - name: id_setor_censitario description: ID do setor censitário - name: id_municipio description: ID Município - IBGE 7 Dígitos - - name: id_rm + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: nome_municipio + description: Nome do município + - name: id_regiao_metropolitana description: ID da região metropolitana ou RIDE - - name: nome_rm + - name: nome_regiao_metropolitana description: Nome da região metropolitana ou RIDE - name: id_distrito description: ID do distrito @@ -306,14 +312,52 @@ models: - name: sigla_uf description: Sigla do Estado - name: situacao_setor - description: – ID de situação do setor - Situação urbana - IDs 1, 2 e 3; 1 - - Área urbanizada de cidade ou vila 2 - Área não urbanizada de cidade ou - vila 3 - Área urbana isolada - Situação rural – IDs 4, 5, 6, 7 e 8; 4 - - Aglomerado rural de extensão urbana 5 - Aglomerado rural isolado, povoado - 6 - Aglomerado rural isolado, núcleo 7 - Aglomerado rural isolado, outros - aglomerados 8 - Zona rural, exclusive aglomerado rural + description: ID de situação do setor - Situação urbana - IDs 1, 2 e 3; 1 - + Área urbanizada de cidade ou vila 2 - Área não urbanizada de cidade ou vila + 3 - Área urbana isolada - Situação rural – IDs 4, 5, 6, 7 e 8; 4 - Aglomerado + rural de extensão urbana 5 - Aglomerado rural isolado, povoado 6 - Aglomerado + rural isolado, núcleo 7 - Aglomerado rural isolado, outros aglomerados 8 + - Zona rural, exclusive aglomerado rural - name: tipo_setor description: Tipo de setor censitário + - name: br_bd_diretorios_brasil__setor_censitario_2022 + description: Diretório de referência para os setores censitário de 2022. Contem + o id_setor_censitario, que permite ligar informações (município, distritro, + etc). + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: [id_setor_censitario] + columns: + - name: id_setor_censitario + description: ID do setor censitário + - name: id_regiao + description: ID da região + - name: nome_regiao + description: Nome da Região + - name: id_uf + description: ID da UF + - name: nome_uf + description: Nome da UF + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: nome + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: nome_municipio + description: Nome do município + - name: id_distrito + description: ID do distrito + - name: nome_distrito + description: Nome do distrito + - name: id_subdistrito + description: ID do subdistrito + - name: nome_subdistrito + description: Nome do subdistrito - name: id_microrregiao description: ID da microrregião - name: nome_microrregiao @@ -334,6 +378,8 @@ models: description: ID da Concentração Urbana - name: nome_concentracao_urbana description: Nome da Concentração Urbana + - name: area_km2 + description: Área em quilómetro quadrado - name: br_bd_diretorios_brasil__cid_10 description: Diretório da Classificação Internacional de Doenças (CID) 10. columns: