From 4f3308e4a71be145b0b06c182c567fcbae0a9ebb Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Thu, 7 Nov 2024 19:11:27 -0300 Subject: [PATCH] fix: censo_2022 tables --- ...2__alfabetizacao_grupo_idade_sexo_raca.sql | 16 + ...torial_densidade_demografica_municipio.sql | 31 - .../br_ibge_censo_2022__auxiliary_table.sql | 0 ...micilio_grupo_idade_raca_destino_lixo.sql} | 7 +- ...rupo_idade_raca_esgotamento_sanitario.sql} | 6 +- ...idade_raca_ligacao_abastecimento_agua.sql} | 6 +- ...cilio_grupo_idade_raca_tipo_domicilio.sql} | 7 +- ...nalizacao_abastecimento_agua_municipio.sql | 19 - ...2022__domicilio_destino_lixo_municipio.sql | 11 - ...icilio_esgotamento_sanitario_municipio.sql | 16 - ...o_ligacao_abastecimento_agua_municipio.sql | 19 - ...enso_2022__domicilio_morador_municipio.sql | 26 - ...tidade_esgotamento_sanitario_municipio.sql | 20 - ...ibge_censo_2022__domicilio_recenseado.sql} | 12 +- ...e_censo_2022__domicilio_tipo_municipio.sql | 9 - ..._2022__indice_envelhecimento_municipio.sql | 24 - ...enso_2022__indice_envelhecimento_raca.sql} | 9 +- ..._indigenas_domicilio_morador_municipio.sql | 38 - ...lo_menos_um_morador_indigena_municipio.sql | 41 - ...nos_um_morador_indigena_terra_indigena.sql | 34 - ...imento_localizacao_domicilio_municipio.sql | 25 - ...igenas_indice_envelhecimento_municipio.sql | 23 - ...indice_envelhecimento_terras_indigenas.sql | 72 - ...acao_docimicilio_grupo_idade_municipio.sql | 84 - ...cao_alfabetizada_grupo_idade_municipio.sql | 16 - ...igenas_populacao_grupo_idade_municipio.sql | 14 - ...ndigenas_populacao_residente_municipio.sql | 30 - ...nas_populacao_residente_terra_indigena.sql | 45 - ...xa_alfabetizacao_grupo_idade_municipio.sql | 15 - .../br_ibge_censo_2022__municipio.sql | 149 ++ .../br_ibge_censo_2022__municipio_area.sql | 0 ..._2022__municipio_indice_envelhecimento.sql | 0 ...r_ibge_censo_2022__municipio_indigenas.sql | 0 ...ibge_censo_2022__municipio_quilombolas.sql | 0 ...etizada_cor_raca_grupo_idade_municipio.sql | 16 - ...2__populacao_grupo_idade_sexo_indigena.sql | 15 + ...populacao_grupo_idade_sexo_quilombola.sql} | 24 +- ..._2022__populacao_grupo_idade_sexo_raca.sql | 9 + ...e_censo_2022__populacao_grupo_idade_uf.sql | 8 - ...ibge_censo_2022__populacao_idade_sexo.sql} | 22 +- ...__populacao_idade_sexo_terra_indigena.sql} | 19 +- ...acao_idade_sexo_territorio_quilombola.sql} | 24 +- ...populacao_residente_cor_raca_municipio.sql | 14 - ...uilombolas_domicilio_morador_municipio.sql | 38 - ..._menos_um_morador_quilombola_municipio.sql | 40 - ...rador_quilombola_territorio_quilombola.sql | 53 - ...imento_localizacao_domicilio_municipio.sql | 24 - ...e_envelhecimento_territorio_quilombola.sql | 77 - ...lombolas_populacao_residente_municipio.sql | 28 - ...ulacao_residente_territorio_quilombola.sql | 47 - ... br_ibge_censo_2022__setor_censitario.sql} | 12 +- ...tizacao_cor_raca_grupo_idade_municipio.sql | 15 - ...=> br_ibge_censo_2022__terra_indigena.sql} | 9 +- ...bge_censo_2022__territorio_quilombola.sql} | 10 +- .../code/censo_2022_crawler.py | 30 +- models/br_ibge_censo_2022/code/constants.py | 1 + .../br_ibge_censo_2022/code/crawl_setores.sh | 22 + .../code/setor_censitario_crawler.py | 155 ++ models/br_ibge_censo_2022/schema.yml | 1597 +++++------------ 59 files changed, 921 insertions(+), 2212 deletions(-) create mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__alfabetizacao_grupo_idade_sexo_raca.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__area_territorial_densidade_demografica_municipio.sql create mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__auxiliary_table.sql rename models/br_ibge_censo_2022/{br_ibge_censo_2022__morador_cor_raca_destino_lixo_municipio.sql => br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_destino_lixo.sql} (61%) rename models/br_ibge_censo_2022/{br_ibge_censo_2022__morador_cor_raca_esgotamento_sanitario_municipio.sql => br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_esgotamento_sanitario.sql} (67%) rename models/br_ibge_censo_2022/{br_ibge_censo_2022__morador_cor_raca_ligacao_abastecimento_agua_municipio.sql => br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_ligacao_abastecimento_agua.sql} (70%) rename models/br_ibge_censo_2022/{br_ibge_censo_2022__morador_cor_raca_tipo_domicilio_municipio.sql => br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_tipo_domicilio.sql} (64%) delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_canalizacao_abastecimento_agua_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_destino_lixo_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_esgotamento_sanitario_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_ligacao_abastecimento_agua_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_morador_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_quantidade_esgotamento_sanitario_municipio.sql rename models/br_ibge_censo_2022/{br_ibge_censo_2022__domicilio_recenseado_especie_municipio.sql => br_ibge_censo_2022__domicilio_recenseado.sql} (65%) delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_tipo_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indice_envelhecimento_municipio.sql rename models/br_ibge_censo_2022/{br_ibge_censo_2022__indice_envelhecimento_cor_raca_municipio.sql => br_ibge_censo_2022__indice_envelhecimento_raca.sql} (67%) delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_morador_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_pelo_menos_um_morador_indigena_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_pelo_menos_um_morador_indigena_terra_indigena.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_localizacao_domicilio_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_terras_indigenas.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_localizacao_docimicilio_grupo_idade_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_alfabetizada_grupo_idade_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_grupo_idade_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_residente_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_residente_terra_indigena.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_taxa_alfabetizacao_grupo_idade_municipio.sql create mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__municipio.sql create mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_area.sql create mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_indice_envelhecimento.sql create mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_indigenas.sql create mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_quilombolas.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_alfabetizada_cor_raca_grupo_idade_municipio.sql create mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_sexo_indigena.sql rename models/br_ibge_censo_2022/{br_ibge_censo_2022__quilombolas_localizacao_domicilio_grupo_idade_municipio.sql => br_ibge_censo_2022__populacao_grupo_idade_sexo_quilombola.sql} (85%) create mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_sexo_raca.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_uf.sql rename models/br_ibge_censo_2022/{br_ibge_censo_2022__populacao_residente_municipio.sql => br_ibge_censo_2022__populacao_idade_sexo.sql} (86%) rename models/br_ibge_censo_2022/{br_ibge_censo_2022__indigenas_populacao_residente_grupo_idade_terras_indigenas.sql => br_ibge_censo_2022__populacao_idade_sexo_terra_indigena.sql} (89%) rename models/br_ibge_censo_2022/{br_ibge_censo_2022__quilombolas_populacao_residente_grupo_idade_territorio_quilombola.sql => br_ibge_censo_2022__populacao_idade_sexo_territorio_quilombola.sql} (85%) delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_residente_cor_raca_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_morador_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_pelo_menos_um_morador_quilombola_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_pelo_menos_um_morador_quilombola_territorio_quilombola.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_indice_envelhecimento_localizacao_domicilio_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_indice_envelhecimento_territorio_quilombola.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_populacao_residente_municipio.sql delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_populacao_residente_territorio_quilombola.sql rename models/br_ibge_censo_2022/{br_ibge_censo_2022__domicilio_morador_setor_censitario.sql => br_ibge_censo_2022__setor_censitario.sql} (65%) delete mode 100644 models/br_ibge_censo_2022/br_ibge_censo_2022__taxa_alfabetizacao_cor_raca_grupo_idade_municipio.sql rename models/br_ibge_censo_2022/{br_ibge_censo_2022__indigenas_domicilio_morador_terra_indigena.sql => br_ibge_censo_2022__terra_indigena.sql} (88%) rename models/br_ibge_censo_2022/{br_ibge_censo_2022__quilombolas_domicilio_morador_territorio_quilombola.sql => br_ibge_censo_2022__territorio_quilombola.sql} (88%) create mode 100755 models/br_ibge_censo_2022/code/crawl_setores.sh create mode 100644 models/br_ibge_censo_2022/code/setor_censitario_crawler.py diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__alfabetizacao_grupo_idade_sexo_raca.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__alfabetizacao_grupo_idade_sexo_raca.sql new file mode 100644 index 00000000..ee00b4ce --- /dev/null +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__alfabetizacao_grupo_idade_sexo_raca.sql @@ -0,0 +1,16 @@ +{{ + config( + alias="alfabetizacao_grupo_idade_sexo_raca", + schema="br_ibge_censo_2022", + ) +}} +select + safe_cast(municipio_codigo_ as string) id_municipio, + safe_cast(cor_ou_raca as string) cor_raca, + safe_cast(sexo as string) sexo, + safe_cast(idade as string) grupo_idade, + safe_cast(alfabetizacao as string) alfabetizacao, + safe_cast(valor as int64) populacao, +from + `basedosdados-staging.br_ibge_censo_2022_staging.alfabetizacao_grupo_idade_sexo_raca` + as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__area_territorial_densidade_demografica_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__area_territorial_densidade_demografica_municipio.sql deleted file mode 100644 index bcd33043..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__area_territorial_densidade_demografica_municipio.sql +++ /dev/null @@ -1,31 +0,0 @@ -{{ - config( - alias="area_territorial_densidade_demografica_municipio", - schema="br_ibge_censo_2022", - ) -}} -with - ibge as ( - select - municipio, - safe_cast( - trim(regexp_extract(municipio, r'([^\(]+)')) as string - ) nome_municipio, - safe_cast( - trim(regexp_extract(municipio, r'\(([^)]+)\)')) as string - ) sigla_uf, - safe_cast(populacao_residente_pessoas_ as int64) populacao_residente, - safe_cast( - area_da_unidade_territorial_quilometros_quadrados_ as int64 - ) area_unidade_territorial, - # SAFE_CAST(REPLACE(densidade_demografica_habitante_por_quilometro_quadrado_, - # ",", ".") AS FLOAT64) densidade_demografica, - from - `basedosdados-staging.br_ibge_censo_2022_staging.area_territorial_densidade_demografica_municipio` - as t - ) -select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf) -from ibge -left join - `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 - on ibge.municipio = t2.municipio diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__auxiliary_table.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__auxiliary_table.sql new file mode 100644 index 00000000..e69de29b diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_destino_lixo_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_destino_lixo.sql similarity index 61% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_destino_lixo_municipio.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_destino_lixo.sql index fb03cbbe..3d517cdc 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_destino_lixo_municipio.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_destino_lixo.sql @@ -1,6 +1,7 @@ {{ config( - alias="morador_cor_raca_destino_lixo_municipio", schema="br_ibge_censo_2022" + alias="caracteristica_domicilio_grupo_idade_raca_destino_lixo", + schema="br_ibge_censo_2022", ) }} select @@ -11,7 +12,7 @@ select safe_cast(cor_ou_raca as string) cor_raca, safe_cast( moradores_em_domicilios_particulares_permanentes_ocupados_pessoas_ as int64 - ) moradores, + ) populacao, from - `basedosdados-staging.br_ibge_censo_2022_staging.morador_cor_raca_destino_lixo_municipio` + `basedosdados-staging.br_ibge_censo_2022_staging.caracteristica_domicilio_grupo_idade_raca_destino_lixo` as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_esgotamento_sanitario_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_esgotamento_sanitario.sql similarity index 67% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_esgotamento_sanitario_municipio.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_esgotamento_sanitario.sql index b5ef7b2c..9cbca898 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_esgotamento_sanitario_municipio.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_esgotamento_sanitario.sql @@ -1,6 +1,6 @@ {{ config( - alias="morador_cor_raca_esgotamento_sanitario_municipio", + alias="caracteristica_domicilio_grupo_idade_raca_esgotamento_sanitario", schema="br_ibge_censo_2022", ) }} @@ -12,7 +12,7 @@ select safe_cast(cor_ou_raca as string) cor_raca, safe_cast( moradores_em_domicilios_particulares_permanentes_ocupados_pessoas_ as int64 - ) moradores, + ) populacao, from - `basedosdados-staging.br_ibge_censo_2022_staging.morador_cor_raca_esgotamento_sanitario_municipio` + `basedosdados-staging.br_ibge_censo_2022_staging.caracteristica_domicilio_grupo_idade_raca_esgotamento_sanitario` as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_ligacao_abastecimento_agua_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_ligacao_abastecimento_agua.sql similarity index 70% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_ligacao_abastecimento_agua_municipio.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_ligacao_abastecimento_agua.sql index 4973ad54..8e5c5443 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_ligacao_abastecimento_agua_municipio.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_ligacao_abastecimento_agua.sql @@ -1,6 +1,6 @@ {{ config( - alias="morador_cor_raca_ligacao_abastecimento_agua_municipio", + alias="caracteristica_domicilio_grupo_idade_raca_ligacao_abastecimento_agua", schema="br_ibge_censo_2022", ) }} @@ -15,7 +15,7 @@ select safe_cast(cor_ou_raca as string) cor_raca, safe_cast( moradores_em_domicilios_particulares_permanentes_ocupados_pessoas_ as int64 - ) moradores, + ) populacao, from - `basedosdados-staging.br_ibge_censo_2022_staging.morador_cor_raca_ligacao_abastecimento_agua_municipio` + `basedosdados-staging.br_ibge_censo_2022_staging.caracteristica_domicilio_grupo_idade_raca_ligacao_abastecimento_agua` as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_tipo_domicilio_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_tipo_domicilio.sql similarity index 64% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_tipo_domicilio_municipio.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_tipo_domicilio.sql index b510fa2d..1c0bea85 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__morador_cor_raca_tipo_domicilio_municipio.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_tipo_domicilio.sql @@ -1,7 +1,8 @@ {{ config( - alias="morador_cor_raca_tipo_domicilio_municipio", + alias="caracteristica_domicilio_grupo_idade_raca_tipo_domicilio", schema="br_ibge_censo_2022", + tag=["refazer"], ) }} select @@ -12,7 +13,7 @@ select safe_cast(cor_ou_raca as string) cor_raca, safe_cast( moradores_em_domicilios_particulares_permanentes_ocupados_pessoas_ as int64 - ) moradores, + ) populacao, from - `basedosdados-staging.br_ibge_censo_2022_staging.morador_cor_raca_tipo_domicilio_municipio` + `basedosdados-staging.br_ibge_censo_2022_staging.caracteristica_domicilio_grupo_idade_raca_tipo_domicilio` as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_canalizacao_abastecimento_agua_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_canalizacao_abastecimento_agua_municipio.sql deleted file mode 100644 index 0a7c053c..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_canalizacao_abastecimento_agua_municipio.sql +++ /dev/null @@ -1,19 +0,0 @@ -{{ - config( - alias="domicilio_canalizacao_abastecimento_agua_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast( - principal_forma_de_abastecimento_de_agua as string - ) tipo_abastecimento_agua, - safe_cast(existencia_de_canalizacao_de_agua as string) tipo_canalizacao_agua, - safe_cast( - domicilios_particulares_permanentes_ocupados_unidades_ as int64 - ) domicilios, -from - `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_canalizacao_abastecimento_agua_municipio` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_destino_lixo_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_destino_lixo_municipio.sql deleted file mode 100644 index 6fbe4177..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_destino_lixo_municipio.sql +++ /dev/null @@ -1,11 +0,0 @@ -{{ config(alias="domicilio_destino_lixo_municipio", schema="br_ibge_censo_2022") }} -select - safe_cast(replace(ano, ".0", "") as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast(destino_do_lixo as string) tipo_destino_lixo, - safe_cast( - domicilios_particulares_permanentes_ocupados_unidades_ as int64 - ) domicilios, -from - `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_destino_lixo_municipio` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_esgotamento_sanitario_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_esgotamento_sanitario_municipio.sql deleted file mode 100644 index 699e8234..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_esgotamento_sanitario_municipio.sql +++ /dev/null @@ -1,16 +0,0 @@ -{{ - config( - alias="domicilio_esgotamento_sanitario_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast(tipo_de_esgotamento_sanitario as string) tipo_esgotamento_sanitario, - safe_cast( - domicilios_particulares_permanentes_ocupados_unidades_ as int64 - ) domicilios, -from - `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_esgotamento_sanitario_municipio` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_ligacao_abastecimento_agua_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_ligacao_abastecimento_agua_municipio.sql deleted file mode 100644 index 30d74f4c..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_ligacao_abastecimento_agua_municipio.sql +++ /dev/null @@ -1,19 +0,0 @@ -{{ - config( - alias="domicilio_ligacao_abastecimento_agua_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast( - existencia_de_ligacao_a_rede_geral_de_distribuicao_de_agua_e_principal_forma_de_abastecimento_de_agua - as string - ) tipo_ligacao_rede_geral, - safe_cast( - domicilios_particulares_permanentes_ocupados_unidades_ as int64 - ) domicilios, -from - `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_ligacao_abastecimento_agua_municipio` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_morador_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_morador_municipio.sql deleted file mode 100644 index 7e7cdc52..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_morador_municipio.sql +++ /dev/null @@ -1,26 +0,0 @@ -{{ config(alias="domicilio_morador_municipio", schema="br_ibge_censo_2022") }} -with - ibge as ( - select - municipio, - safe_cast( - trim(regexp_extract(municipio, r'([^\(]+)')) as string - ) nome_municipio, - safe_cast( - trim(regexp_extract(municipio, r'\(([^)]+)\)')) as string - ) sigla_uf, - safe_cast( - domicilios_particulares_permanentes_ocupados_domicilios_ as int64 - ) domicilios, - safe_cast( - moradores_em_domicilios_particulares_permanentes_ocupados_pessoas_ - as int64 - ) moradores, - from - `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_morador_municipio` t - ) -select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf) -from ibge -left join - `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 - on ibge.municipio = t2.municipio diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_quantidade_esgotamento_sanitario_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_quantidade_esgotamento_sanitario_municipio.sql deleted file mode 100644 index 9866a172..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_quantidade_esgotamento_sanitario_municipio.sql +++ /dev/null @@ -1,20 +0,0 @@ -{{ - config( - alias="domicilio_quantidade_esgotamento_sanitario_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast(tipo_de_esgotamento_sanitario as string) tipo_esgotamento_sanitario, - safe_cast( - existencia_de_banheiro_ou_sanitario_e_numero_de_banheiros_de_uso_exclusivo_do_domicilio - as string - ) tipo_quantidade_banheiro, - safe_cast( - domicilios_particulares_permanentes_ocupados_unidades_ as int64 - ) domicilios, -from - `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_quantidade_esgotamento_sanitario_municipio` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_recenseado_especie_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_recenseado.sql similarity index 65% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_recenseado_especie_municipio.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_recenseado.sql index b84dfff1..adb2b66c 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_recenseado_especie_municipio.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_recenseado.sql @@ -1,8 +1,4 @@ -{{ - config( - alias="domicilio_recenseado_especie_municipio", schema="br_ibge_censo_2022" - ) -}} +{{ config(alias="domicilio_recenseado", schema="br_ibge_censo_2022") }} with ibge as ( select @@ -15,12 +11,10 @@ with ) sigla_uf, safe_cast(especie as string) especie, safe_cast(domicilios_recenseados_domicilios_ as int64) domicilios, - from - `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_recenseado_especie_municipio` - as t + from `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_recenseado` as t ) select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf) from ibge left join - `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 + `basedosdados-staging.br_ibge_censo_2022_staging.auxiliary_table` t2 on ibge.municipio = t2.municipio diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_tipo_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_tipo_municipio.sql deleted file mode 100644 index f4862471..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_tipo_municipio.sql +++ /dev/null @@ -1,9 +0,0 @@ -{{ config(alias="domicilio_tipo_municipio", schema="br_ibge_censo_2022") }} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast(tipo_de_domicilio as string) tipo_domicilio, - safe_cast( - domicilios_particulares_permanentes_ocupados_unidades_ as int64 - ) domicilios, -from `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_tipo_municipio` as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indice_envelhecimento_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indice_envelhecimento_municipio.sql deleted file mode 100644 index 26ba8958..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indice_envelhecimento_municipio.sql +++ /dev/null @@ -1,24 +0,0 @@ -{{ config(alias="indice_envelhecimento_municipio", schema="br_ibge_censo_2022") }} -with - ibge as ( - select - municipio, - safe_cast( - trim(regexp_extract(municipio, r'([^\(]+)')) as string - ) nome_municipio, - safe_cast( - trim(regexp_extract(municipio, r'\(([^)]+)\)')) as string - ) sigla_uf, - safe_cast( - replace(indice_de_envelhecimento_razao_, ",", ".") as float64 - ) indice_envelhecimento, - safe_cast(replace(idade_mediana_anos_, ",", ".") as float64) idade_mediana, - safe_cast(replace(razao_de_sexo_razao_, ",", ".") as float64) razao_sexo, - from - `basedosdados-staging.br_ibge_censo_2022_staging.indice_envelhecimento_municipio` t - ) -select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf) -from ibge -left join - `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 - on ibge.municipio = t2.municipio diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indice_envelhecimento_cor_raca_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indice_envelhecimento_raca.sql similarity index 67% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__indice_envelhecimento_cor_raca_municipio.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__indice_envelhecimento_raca.sql index a6d7a3aa..b0491211 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indice_envelhecimento_cor_raca_municipio.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__indice_envelhecimento_raca.sql @@ -1,8 +1,4 @@ -{{ - config( - alias="indice_envelhecimento_cor_raca_municipio", schema="br_ibge_censo_2022" - ) -}} +{{ config(alias="indice_envelhecimento_raca", schema="br_ibge_censo_2022") }} select safe_cast(ano as int64) ano, safe_cast(cod_ as string) id_municipio, @@ -14,5 +10,4 @@ select ) indice_envelhecimento, safe_cast(idade_mediana_anos_ as int64) idade_mediana, safe_cast(replace(razao_de_sexo_razao_, ",", ".") as float64) razao_sexo, -from - `basedosdados-staging.br_ibge_censo_2022_staging.indice_envelhecimento_cor_raca_municipio` t +from `basedosdados-staging.br_ibge_censo_2022_staging.indice_envelhecimento_raca` t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_morador_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_morador_municipio.sql deleted file mode 100644 index 9df493a1..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_morador_municipio.sql +++ /dev/null @@ -1,38 +0,0 @@ -{{ - config( - alias="indigenas_domicilio_morador_municipio", schema="br_ibge_censo_2022" - ) -}} -with - ibge as ( - select - municipio, - safe_cast( - trim(regexp_extract(municipio, r'([^\(]+)')) as string - ) nome_municipio, - safe_cast( - trim(regexp_extract(municipio, r'\(([^)]+)\)')) as string - ) sigla_uf, - safe_cast(localizacao_do_domicilio as string) localizacao_domicilio, - safe_cast( - domicilios_particulares_permanentes_ocupados_domicilios_ as int64 - ) domicilios, - safe_cast( - moradores_em_domicilios_particulares_permanentes_ocupados_pessoas_ - as int64 - ) moradores, - safe_cast( - moradores_indigenas_em_domicilios_particulares_permanentes_ocupados_pessoas_ - as int64 - ) moradores_indigenas, - # SAFE_CAST(REPLACE(media_de_moradores_em_domicilios_particulares_permanentes_ocupados_pessoas_, ",", ".") AS FLOAT64) media_moradores_domicilios, - # SAFE_CAST(REPLACE(media_de_moradores_indigenas_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_indigena_pessoas_, ",", ".") AS FLOAT64) media_moradores_indigenas_domicilios, - from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_domicilio_morador_municipio` - as t - ) -select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf) -from ibge -left join - `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 - on ibge.municipio = t2.municipio diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_pelo_menos_um_morador_indigena_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_pelo_menos_um_morador_indigena_municipio.sql deleted file mode 100644 index 182b71ca..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_pelo_menos_um_morador_indigena_municipio.sql +++ /dev/null @@ -1,41 +0,0 @@ -{{ - config( - alias="indigenas_domicilio_pelo_menos_um_morador_indigena_municipio", - schema="br_ibge_censo_2022", - ) -}} -with - ibge as ( - select - municipio, - safe_cast( - trim(regexp_extract(municipio, r'([^\(]+)')) as string - ) nome_municipio, - safe_cast( - trim(regexp_extract(municipio, r'\(([^)]+)\)')) as string - ) sigla_uf, - safe_cast(localizacao_do_domicilio as string) localizacao_domicilio, - safe_cast( - domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_indigena_domicilios_ - as int64 - ) domicilios, - safe_cast( - moradores_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_indigena_pessoas_ - as int64 - ) moradores, - safe_cast( - moradores_indigenas_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_indigena_pessoas_ - as int64 - ) moradores_indigenas, - # SAFE_CAST - # (REPLACE(media_de_moradores_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_indigena_pessoas_, ",", ".") AS FLOAT64) media_moradores_domicilios_pelo_menos_um, - # SAFE_CAST(REPLACE(media_de_moradores_indigenas_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_indigena_pessoas_, ",", ".") AS FLOAT64) media_moradores_indigenas_domicilios_pelo_menos_um, - from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_domicilio_pelo_menos_um_morador_indigena_municipio` - as t - ) -select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf) -from ibge -left join - `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 - on ibge.municipio = t2.municipio diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_pelo_menos_um_morador_indigena_terra_indigena.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_pelo_menos_um_morador_indigena_terra_indigena.sql deleted file mode 100644 index 361e1ffd..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_pelo_menos_um_morador_indigena_terra_indigena.sql +++ /dev/null @@ -1,34 +0,0 @@ -{{ - config( - alias="indigenas_domicilio_pelo_menos_um_morador_indigena_terra_indigena", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(cod_ as string) id_terra_indigena, - safe_cast( - trim( - regexp_extract(terra_indigena_por_unidade_da_federacao, r'([^\(]+)') - ) as string - ) terra_indigena, - safe_cast( - trim( - regexp_extract(terra_indigena_por_unidade_da_federacao, r'\(([^)]+)\)') - ) as string - ) sigla_uf, - safe_cast( - domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_indigena_domicilios_ - as int64 - ) domicilios, - safe_cast( - moradores_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_indigena_pessoas_ - as int64 - ) moradores, - safe_cast( - moradores_indigenas_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_indigena_pessoas_ - as int64 - ) moradores_indigenas, -# SAFE_CAST(REPLACE(media_de_moradores_indigenas_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_indigena_pessoas_, ",", ".") AS FLOAT64) media_moradores_indigenas_domicilios_terras_indigenas_pelo_menos_um, -from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_domicilio_pelo_menos_um_morador_indigena_terra_indigena` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_localizacao_domicilio_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_localizacao_domicilio_municipio.sql deleted file mode 100644 index 763d7155..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_localizacao_domicilio_municipio.sql +++ /dev/null @@ -1,25 +0,0 @@ -{{ - config( - alias="indigenas_indice_envelhecimento_localizacao_domicilio_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast(localizacao_do_domicilio as string) localizacao_domicilio, - safe_cast(quesito_de_declaracao_indigena as string) quesito_declaracao_indigena, - safe_cast( - replace( - indice_de_envelhecimento_da_populacao_indigena_idosos_60_anos_ou_mais_de_idade_razao_, - ",", - "." - ) as float64 - ) indice_envelhecimento, - safe_cast(idade_mediana_da_populacao_indigena_anos_ as int64) idade_mediana, - safe_cast( - replace(razao_de_sexo_da_populacao_indigena_razao_, ",", ".") as float64 - ) razao_sexo, -from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_indice_envelhecimento_localizacao_domicilio_municipio` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_municipio.sql deleted file mode 100644 index 79fdaa9e..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_municipio.sql +++ /dev/null @@ -1,23 +0,0 @@ -{{ - config( - alias="indigenas_indice_envelhecimento_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast(quesito_de_declaracao_indigena as string) quesito_declaracao_indigena, - safe_cast( - replace( - indice_de_envelhecimento_da_populacao_indigena_idosos_60_anos_ou_mais_de_idade_razao_, - ",", - "." - ) as float64 - ) indice_envelhecimento, - safe_cast(idade_mediana_da_populacao_indigena_anos_ as int64) idade_mediana, - safe_cast( - replace(razao_de_sexo_da_populacao_indigena_razao_, ",", ".") as float64 - ) razao_sexo, -from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_indice_envelhecimento_municipio` t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_terras_indigenas.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_terras_indigenas.sql deleted file mode 100644 index da792264..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_indice_envelhecimento_terras_indigenas.sql +++ /dev/null @@ -1,72 +0,0 @@ -{{ - config( - alias="indigenas_indice_envelhecimento_terras_indigenas", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_terra_indigena, - safe_cast( - trim( - regexp_extract(terra_indigena_por_unidade_da_federacao, r'([^\(]+)') - ) as string - ) terra_indigena, - case - when regexp_contains(terra_indigena_por_unidade_da_federacao, r'\(\w{2}\)') - then - safe_cast( - trim( - regexp_extract( - terra_indigena_por_unidade_da_federacao, r'\((\w{2})\)' - ) - ) as string - ) - else - safe_cast( - trim( - split( - split(terra_indigena_por_unidade_da_federacao, '(')[ - safe_offset(2) - ], - ')' - )[safe_offset(0)] - ) as string - ) - end as sigla_uf, - safe_cast(quesito_de_declaracao_indigena as string) quesito_declaracao_indigena, - safe_cast( - replace( - indice_de_envelhecimento_da_populacao_residente_em_terras_indigenas_idosos_60_anos_ou_mais_de_idade_razao_, - ",", - "." - ) as float64 - ) indice_envelhecimento, - safe_cast( - idade_mediana_da_populacao_residente_em_terras_indigenas_anos_ as int64 - ) idade_mediana, - safe_cast( - replace( - razao_de_sexo_da_populacao_residente_em_terras_indigenas_razao_, ",", "." - ) as float64 - ) razao_sexo, - safe_cast( - replace( - indice_de_envelhecimento_da_populacao_indigena_residente_em_terras_indigenas_idosos_60_anos_ou_mais_de_idade_razao_, - ",", - "." - ) as float64 - ) indice_envelhecimento_populacao_indigena, - safe_cast( - idade_mediana_da_populacao_indigena_residente_em_terras_indigenas_anos_ as int64 - ) idade_mediana_populacao_indigena, - safe_cast( - replace( - razao_de_sexo_da_populacao_indigena_residente_em_terras_indigenas_razao_, - ",", - "." - ) as float64 - ) razao_sexo_populacao_indigena, -from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_indice_envelhecimento_terras_indigenas` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_localizacao_docimicilio_grupo_idade_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_localizacao_docimicilio_grupo_idade_municipio.sql deleted file mode 100644 index f03b0ed0..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_localizacao_docimicilio_grupo_idade_municipio.sql +++ /dev/null @@ -1,84 +0,0 @@ -{{ - config( - alias="indigenas_localizacao_docimicilio_grupo_idade_municipio", - schema="br_ibge_censo_2022", - ) -}} -with - ibge as ( - select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast(localizacao_do_domicilio as string) localizacao_domicilio, - safe_cast(idade as string) idade, - case - when idade = 'Menos de 1 mês' - then 0 - when regexp_contains(idade, r'[0-9]+ mês') - then safe_cast(regexp_extract(idade, r'[0-9]+ mês') as int64) / 12 - when regexp_contains(idade, r'[0-9]+ meses') - then safe_cast(regexp_extract(idade, r'([0-9])+ meses') as int64) / 12 - when regexp_contains(idade, r'[0-9]+ anos') - then cast(regexp_extract(idade, r'([0-9]+) anos') as int64) - when regexp_contains(idade, r'[0-9]+ ano') - then cast(regexp_extract(idade, r'([0-9]+) ano') as int64) - end as idade_num, - safe_cast(sexo as string) sexo, - safe_cast(pessoas_indigenas_pessoas_ as int64) pessoas, - from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_localizacao_docimicilio_grupo_idade_municipio` - ) -select - ibge.* except (idade, idade_num, pessoas), - idade_num as idade_anos, - case - when idade_num between 0 and 4 - then '0 a 4 anos' - when idade_num between 5 and 9 - then '5 a 9 anos' - when idade_num between 10 and 14 - then '10 a 14 anos' - when idade_num between 15 and 19 - then '15 a 19 anos' - when idade_num between 20 and 24 - then '20 a 24 anos' - when idade_num between 25 and 29 - then '25 a 29 anos' - when idade_num between 30 and 34 - then '30 a 34 anos' - when idade_num between 35 and 39 - then '35 a 39 anos' - when idade_num between 40 and 44 - then '40 a 44 anos' - when idade_num between 45 and 49 - then '45 a 49 anos' - when idade_num between 50 and 54 - then '50 a 54 anos' - when idade_num between 55 and 59 - then '55 a 59 anos' - when idade_num between 60 and 64 - then '60 a 64 anos' - when idade_num between 65 and 69 - then '65 a 69 anos' - when idade_num between 70 and 74 - then '70 a 74 anos' - when idade_num between 75 and 79 - then '75 a 79 anos' - when idade_num between 80 and 84 - then '80 a 84 anos' - when idade_num between 85 and 89 - then '85 a 89 anos' - when idade_num between 90 and 94 - then '90 a 94 anos' - when idade_num between 95 and 99 - then '95 a 99 anos' - else '100 anos ou mais' - end as grupo_idade, - pessoas, -from ibge -where - not ( - idade like '% a %' - or idade like '100 anos ou mais' - or idade like 'Menos de 1 ano' - ) diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_alfabetizada_grupo_idade_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_alfabetizada_grupo_idade_municipio.sql deleted file mode 100644 index b5f02362..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_alfabetizada_grupo_idade_municipio.sql +++ /dev/null @@ -1,16 +0,0 @@ -{{ - config( - alias="indigenas_populacao_alfabetizada_grupo_idade_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(munic_pio__c_digo_ as string) id_municipio, - safe_cast(sexo as string) sexo, - safe_cast(idade as string) grupo_idade, - safe_cast(alfabetiza__o as string) alfabetizacao, - safe_cast(valor as int64) populacao_indigena, -from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_populacao_alfabetizada_grupo_idade_municipio` - as t -where idade not like 'Total' diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_grupo_idade_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_grupo_idade_municipio.sql deleted file mode 100644 index b19ff730..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_grupo_idade_municipio.sql +++ /dev/null @@ -1,14 +0,0 @@ -{{ - config( - alias="indigenas_populacao_grupo_idade_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast(grupo_de_idade as string) grupo_idade, - safe_cast(sexo as string) sexo, - safe_cast(pessoas_indigenas_pessoas_ as int64) populacao_residente, -from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_populacao_grupo_idade_municipio` t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_residente_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_residente_municipio.sql deleted file mode 100644 index 45788b8b..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_residente_municipio.sql +++ /dev/null @@ -1,30 +0,0 @@ -{{ - config( - alias="indigenas_populacao_residente_municipio", schema="br_ibge_censo_2022" - ) -}} -with - ibge as ( - select - municipio, - safe_cast( - trim(regexp_extract(municipio, r'([^\(]+)')) as string - ) nome_municipio, - safe_cast( - trim(regexp_extract(municipio, r'\(([^)]+)\)')) as string - ) sigla_uf, - safe_cast( - quesito_de_declaracao_indigena as string - ) quesito_declaracao_indigena, - safe_cast(localizacao_do_domicilio as string) localizacao_domicilio, - safe_cast(pessoas_indigenas_pessoas_ as int64) pessoas_indigenas, - safe_cast(populacao_residente_pessoas_ as int64) populacao_residente, - from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_populacao_residente_municipio` - as t - ) -select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf) -from ibge -left join - `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 - on ibge.municipio = t2.municipio diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_residente_terra_indigena.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_residente_terra_indigena.sql deleted file mode 100644 index bdf208c7..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_residente_terra_indigena.sql +++ /dev/null @@ -1,45 +0,0 @@ -{{ - config( - alias="indigenas_populacao_residente_terra_indigena", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(cod_ as string) id_terra_indigena, - safe_cast( - trim( - regexp_extract(terra_indigena_por_unidade_da_federacao, r'([^\(]+)') - ) as string - ) terra_indigena, - case - when regexp_contains(terra_indigena_por_unidade_da_federacao, r'\(\w{2}\)') - then - safe_cast( - trim( - regexp_extract( - terra_indigena_por_unidade_da_federacao, r'\((\w{2})\)' - ) - ) as string - ) - else - safe_cast( - trim( - split( - split(terra_indigena_por_unidade_da_federacao, '(')[ - safe_offset(2) - ], - ')' - )[safe_offset(0)] - ) as string - ) - end as sigla_uf, - safe_cast( - pessoas_residentes_em_terras_indigenas_pessoas_ as int64 - ) populacao_residente, - safe_cast( - pessoas_indigenas_residentes_em_terras_indigenas_pessoas_ as int64 - ) pessoas_indigenas, - safe_cast(quesito_de_declaracao_indigena as string) quesito_declaracao_indigena, -from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_populacao_residente_terra_indigena` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_taxa_alfabetizacao_grupo_idade_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_taxa_alfabetizacao_grupo_idade_municipio.sql deleted file mode 100644 index b9c18a9a..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_taxa_alfabetizacao_grupo_idade_municipio.sql +++ /dev/null @@ -1,15 +0,0 @@ -{{ - config( - alias="indigenas_taxa_alfabetizacao_grupo_idade_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(munic_pio__c_digo_ as string) id_municipio, - safe_cast(sexo as string) sexo, - safe_cast(idade as string) grupo_idade, - safe_cast(valor as float64) taxa_alfabetizacao, -from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_taxa_alfabetizacao_grupo_idade_municipio` - as t -where idade not like 'Total' diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__municipio.sql new file mode 100644 index 00000000..4ef1d0fd --- /dev/null +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__municipio.sql @@ -0,0 +1,149 @@ +{{ config(alias="municipio", schema="br_ibge_censo_2022") }} +with + domicilio_morador as ( + select + safe_cast(ano as int64) ano, + municipio, + safe_cast( + trim(regexp_extract(municipio, r'([^\(]+)')) as string + ) nome_municipio, + safe_cast( + trim(regexp_extract(municipio, r'\(([^)]+)\)')) as string + ) sigla_uf, + safe_cast( + domicilios_particulares_permanentes_ocupados_domicilios_ as int64 + ) domicilios, + safe_cast( + moradores_em_domicilios_particulares_permanentes_ocupados_pessoas_ + as int64 + ) populacao, + from `basedosdados-staging.br_ibge_censo_2022_staging.municipio` + ), + + area as ( + select + safe_cast(ano as int64) ano, + municipio, + safe_cast(area_da_unidade_territorial_quilometros_quadrados_ as int64) area, + from `basedosdados-staging.br_ibge_censo_2022_staging.municipio_area` as t + ), + + indice_envelhecimento as ( + select + 2022 as ano, + municipio, + safe_cast( + replace(indice_de_envelhecimento_razao_, ",", ".") as float64 + ) indice_envelhecimento, + safe_cast(replace(idade_mediana_anos_, ",", ".") as float64) idade_mediana, + safe_cast(replace(razao_de_sexo_razao_, ",", ".") as float64) razao_sexo, + from + `basedosdados-staging.br_ibge_censo_2022_staging.municipio_indice_envelhecimento` + ), + + indigenas as ( + select + safe_cast(ano as int64) ano, + municipio, + ifnull( + sum( + safe_cast( + moradores_indigenas_em_domicilios_particulares_permanentes_ocupados_pessoas_ + as int64 + ) + ), + 0 + ) populacao_indigena, + sum( + if( + localizacao_do_domicilio = 'Em terras indígenas', + safe_cast( + moradores_indigenas_em_domicilios_particulares_permanentes_ocupados_pessoas_ + as int64 + ), + 0 + ) + ) as populacao_indigena_terra_indigena + from `basedosdados-staging.br_ibge_censo_2022_staging.municipio_indigenas` + group by 1, 2 + ), + + quilombolas as ( + select + safe_cast(ano as int64) ano, + municipio, + ifnull( + sum( + safe_cast( + moradores_quilombolas_em_domicilios_particulares_permanentes_ocupados_pessoas_ + as int64 + ) + ), + 0 + ) populacao_quilombola, + sum( + if( + localizacao_do_domicilio = 'Em territórios quilombolas', + safe_cast( + moradores_quilombolas_em_domicilios_particulares_permanentes_ocupados_pessoas_ + as int64 + ), + 0 + ) + ) as populacao_quilombola_territorio_quilombola + from `basedosdados-staging.br_ibge_censo_2022_staging.municipio_quilombolas` + group by 1, 2 + ), + + alfabetizacao as ( + select + 2022 as ano, + safe_cast(munic_pio__c_digo_ as string) id_municipio, + round( + sum(if(alfabetiza__o = 'Alfabetizadas', safe_cast(valor as int64), 0)) + / sum(safe_cast(valor as int64)), + 5 + ) as taxa_alfabetizacao + from + `basedosdados-staging.br_ibge_censo_2022_staging.alfabetizacao_grupo_idade_sexo_raca` + group by 1, 2 + ) + +select + auxiliary_table.cod as id_municipio, + domicilio_morador.sigla_uf, + domicilio_morador.domicilios, + domicilio_morador.populacao, + area.area, + alfabetizacao.taxa_alfabetizacao, + indice_envelhecimento.idade_mediana, + indice_envelhecimento.razao_sexo, + indice_envelhecimento.indice_envelhecimento, + indigenas.populacao_indigena, + indigenas.populacao_indigena_terra_indigena, + quilombolas.populacao_quilombola, + quilombolas.populacao_quilombola_territorio_quilombola, +from domicilio_morador +left join + `basedosdados-staging.br_ibge_censo_2022_staging.auxiliary_table` as auxiliary_table + on domicilio_morador.municipio = auxiliary_table.municipio +left join + area + on domicilio_morador.municipio = area.municipio + and domicilio_morador.ano = area.ano +left join + indice_envelhecimento + on domicilio_morador.municipio = indice_envelhecimento.municipio + and domicilio_morador.ano = indice_envelhecimento.ano +left join + indigenas + on domicilio_morador.municipio = indigenas.municipio + and domicilio_morador.ano = indigenas.ano +left join + quilombolas + on domicilio_morador.municipio = quilombolas.municipio + and domicilio_morador.ano = quilombolas.ano +left join + alfabetizacao + on auxiliary_table.cod = alfabetizacao.id_municipio + and domicilio_morador.ano = alfabetizacao.ano diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_area.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_area.sql new file mode 100644 index 00000000..e69de29b diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_indice_envelhecimento.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_indice_envelhecimento.sql new file mode 100644 index 00000000..e69de29b diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_indigenas.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_indigenas.sql new file mode 100644 index 00000000..e69de29b diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_quilombolas.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__municipio_quilombolas.sql new file mode 100644 index 00000000..e69de29b diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_alfabetizada_cor_raca_grupo_idade_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_alfabetizada_cor_raca_grupo_idade_municipio.sql deleted file mode 100644 index 92c14b7e..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_alfabetizada_cor_raca_grupo_idade_municipio.sql +++ /dev/null @@ -1,16 +0,0 @@ -{{ - config( - alias="populacao_alfabetizada_cor_raca_grupo_idade_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(munic_pio__c_digo_ as string) id_municipio, - safe_cast(cor_ou_ra_a as string) cor_raca, - safe_cast(sexo as string) sexo, - safe_cast(idade as string) grupo_idade, - safe_cast(alfabetiza__o as string) alfabetizacao, - safe_cast(valor as int64) populacao, -from - `basedosdados-staging.br_ibge_censo_2022_staging.populacao_alfabetizada_cor_raca_grupo_idade_municipio` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_sexo_indigena.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_sexo_indigena.sql new file mode 100644 index 00000000..2237b1a0 --- /dev/null +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_sexo_indigena.sql @@ -0,0 +1,15 @@ +{{ + config( + alias="populacao_grupo_idade_sexo_indigena", + schema="br_ibge_censo_2022", + ) +}} +select + safe_cast(ano as int64) ano, + safe_cast(cod_ as string) id_municipio, + safe_cast(idade as string) grupo_idade, + safe_cast(sexo as string) sexo, + sum(safe_cast(pessoas_indigenas_pessoas_ as int64)) populacao_indigena, +from + `basedosdados-staging.br_ibge_censo_2022_staging.populacao_grupo_idade_sexo_indigena` t +group by 1, 2, 3, 4 diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_localizacao_domicilio_grupo_idade_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_sexo_quilombola.sql similarity index 85% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_localizacao_domicilio_grupo_idade_municipio.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_sexo_quilombola.sql index dc77c864..1c5598a9 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_localizacao_domicilio_grupo_idade_municipio.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_sexo_quilombola.sql @@ -1,11 +1,11 @@ {{ config( - alias="quilombolas_localizacao_domicilio_grupo_idade_municipio", + alias="populacao_grupo_idade_sexo_quilombola", schema="br_ibge_censo_2022", ) }} with - ibge as ( + idade_2_idade_numerica as ( select safe_cast(ano as int64) ano, safe_cast(cod_ as string) id_municipio, @@ -26,12 +26,13 @@ with safe_cast(sexo as string) sexo, safe_cast(pessoas_quilombolas_pessoas_ as int64) pessoas, from - `basedosdados-staging.br_ibge_censo_2022_staging.quilombolas_localizacao_domicilio_grupo_idade_municipio` + `basedosdados-staging.br_ibge_censo_2022_staging.populacao_grupo_idade_sexo_quilombola` as t ) select - ibge.* except (idade, idade_num, pessoas), - idade_num as idade_anos, + ano, + id_municipio, + localizacao_domicilio, case when idade_num between 0 and 4 then '0 a 4 anos' @@ -75,11 +76,8 @@ select then '95 a 99 anos' else '100 anos ou mais' end as grupo_idade, - pessoas, -from ibge -where - not ( - idade like '% a %' - or idade like '100 anos ou mais' - or idade like 'Menos de 1 ano' - ) + sexo, + sum(pessoas) as populacao_quilombola, +from idade_2_idade_numerica +where not (idade like '% a %' or idade like 'Menos de 1 ano') +group by 1, 2, 3, 4, 5 diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_sexo_raca.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_sexo_raca.sql new file mode 100644 index 00000000..e9164c2b --- /dev/null +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_sexo_raca.sql @@ -0,0 +1,9 @@ +{{ config(alias="populacao_grupo_idade_sexo_raca", schema="br_ibge_censo_2022") }} +select + safe_cast(ano as int64) ano, + safe_cast(cod_ as string) id_municipio, + safe_cast(idade as string) grupo_idade, + safe_cast(sexo as string) sexo, + safe_cast(cor_ou_raca as string) cor_raca, + safe_cast(populacao_residente_pessoas_ as int64) populacao, +from `basedosdados-staging.br_ibge_censo_2022_staging.populacao_grupo_idade_sexo_raca` t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_uf.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_uf.sql deleted file mode 100644 index a3364d15..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_grupo_idade_uf.sql +++ /dev/null @@ -1,8 +0,0 @@ -{{ config(alias="populacao_grupo_idade_uf", schema="br_ibge_censo_2022") }} -select - t2.sigla as sigla_uf, - safe_cast(grupo_de_idade as string) grupo_idade, - safe_cast(`população` as int64) populacao, -from `basedosdados-staging.br_ibge_censo_2022_staging.populacao_grupo_idade_uf` as t -left join - `basedosdados.br_bd_diretorios_brasil.uf` t2 on t.unidade_da_federacao = t2.nome diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_residente_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_idade_sexo.sql similarity index 86% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_residente_municipio.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_idade_sexo.sql index 386f6a00..9c8697b0 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_residente_municipio.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_idade_sexo.sql @@ -1,4 +1,4 @@ -{{ config(alias="populacao_residente_municipio", schema="br_ibge_censo_2022") }} +{{ config(alias="populacao_idade_sexo", schema="br_ibge_censo_2022") }} with ibge as ( select @@ -23,14 +23,15 @@ with then cast(regexp_extract(idade, r'([0-9]+) anos') as int64) when regexp_contains(idade, r'[0-9]+ ano') then cast(regexp_extract(idade, r'([0-9]+) ano') as int64) + when idade = '100 anos ou mais' + then 100 end as idade_num, - safe_cast(populacao_residente_pessoas_ as int64) populacao_residente, - from - `basedosdados-staging.br_ibge_censo_2022_staging.populacao_residente_municipio` t + safe_cast(populacao_residente_pessoas_ as int64) populacao, + from `basedosdados-staging.br_ibge_censo_2022_staging.populacao_idade_sexo` t ) select t2.cod as id_municipio, - ibge.* except (municipio, nome_municipio, sigla_uf, idade_num, populacao_residente), + ibge.* except (municipio, nome_municipio, sigla_uf, idade_num, populacao), idade_num as idade_anos, case when idade_num between 0 and 4 @@ -75,14 +76,9 @@ select then '95 a 99 anos' else '100 anos ou mais' end as grupo_idade, - populacao_residente + populacao from ibge left join - `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 + `basedosdados-staging.br_ibge_censo_2022_staging.auxiliary_table` t2 on ibge.municipio = t2.municipio -where - not ( - idade like '% a %' - or idade like '100 anos ou mais' - or idade like 'Menos de 1 ano' - ) +where not (idade like '% a %' or idade like 'Menos de 1 ano') diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_residente_grupo_idade_terras_indigenas.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_idade_sexo_terra_indigena.sql similarity index 89% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_residente_grupo_idade_terras_indigenas.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_idade_sexo_terra_indigena.sql index c796d033..d99ecd3a 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_populacao_residente_grupo_idade_terras_indigenas.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_idade_sexo_terra_indigena.sql @@ -1,6 +1,6 @@ {{ config( - alias="indigenas_populacao_residente_grupo_idade_terras_indigenas", + alias="populacao_idade_sexo_terra_indigena", schema="br_ibge_censo_2022", ) }} @@ -55,6 +55,8 @@ with then cast(regexp_extract(idade, r'([0-9]+) anos') as int64) when regexp_contains(idade, r'[0-9]+ ano') then cast(regexp_extract(idade, r'([0-9]+) ano') as int64) + when idade = '100 anos ou mais' + then 100 end as idade_num, safe_cast( pessoas_indigenas_residentes_em_terras_indigenas_pessoas_ as int64 @@ -63,10 +65,10 @@ with pessoas_residentes_em_terras_indigenas_pessoas_ as int64 ) populacao_residente, from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_populacao_residente_grupo_idade_terras_indigenas` + `basedosdados-staging.br_ibge_censo_2022_staging.populacao_idade_sexo_terra_indigena` ) select - ibge.* except (idade, idade_num, pessoas_indigenas, populacao_residente), + ibge.* except (idade_num, pessoas_indigenas, populacao_residente), idade_num as idade_anos, case when idade_num between 0 and 4 @@ -111,12 +113,7 @@ select then '95 a 99 anos' else '100 anos ou mais' end as grupo_idade, - pessoas_indigenas, - populacao_residente, + pessoas_indigenas as populacao_indigena, + populacao_residente as populacao, from ibge -where - not ( - idade like '% a %' - or idade like '100 anos ou mais' - or idade like 'Menos de 1 ano' - ) +where not (idade like '% a %' or idade like 'Menos de 1 ano') diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_populacao_residente_grupo_idade_territorio_quilombola.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_idade_sexo_territorio_quilombola.sql similarity index 85% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_populacao_residente_grupo_idade_territorio_quilombola.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_idade_sexo_territorio_quilombola.sql index b9f687e5..01c63814 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_populacao_residente_grupo_idade_territorio_quilombola.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_idade_sexo_territorio_quilombola.sql @@ -1,6 +1,6 @@ {{ config( - alias="quilombolas_populacao_residente_grupo_idade_territorio_quilombola", + alias="populacao_idade_sexo_territorio_quilombola", schema="br_ibge_censo_2022", ) }} @@ -54,6 +54,8 @@ with then cast(regexp_extract(idade, r'([0-9]+) anos') as int64) when regexp_contains(idade, r'[0-9]+ ano') then cast(regexp_extract(idade, r'([0-9]+) ano') as int64) + when idade = '100 anos ou mais' + then 100 end as idade_num, safe_cast( pessoas_quilombolas_residentes_em_territorios_quilombolas_pessoas_ @@ -63,10 +65,14 @@ with pessoas_residentes_em_territorios_quilombolas_pessoas_ as int64 ) populacao_residente, from - `basedosdados-staging.br_ibge_censo_2022_staging.quilombolas_populacao_residente_grupo_idade_territorio_quilombola` + `basedosdados-staging.br_ibge_censo_2022_staging.populacao_idade_sexo_territorio_quilombola` ) + +-- por algum motivo o Território Alto da Serra está duplicado. +-- Verifiquei cada linha e a duplicação veio com valores nulos, assim para corrigir +-- vou aplicar um group by e sum select - ibge.* except (idade, idade_num, pessoas_quilombolas, populacao_residente), + ibge.* except (idade_num, pessoas_quilombolas, populacao_residente), idade_num as idade_anos, case when idade_num between 0 and 4 @@ -111,12 +117,8 @@ select then '95 a 99 anos' else '100 anos ou mais' end as grupo_idade, - pessoas_quilombolas, - populacao_residente + sum(pessoas_quilombolas) as populacao_quilombola, + sum(populacao_residente) as populacao from ibge -where - not ( - idade like '% a %' - or idade like '100 anos ou mais' - or idade like 'Menos de 1 ano' - ) +where not (idade like '% a %' or idade like 'Menos de 1 ano') +group by 1, 2, 3, 4, 5, 6 diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_residente_cor_raca_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_residente_cor_raca_municipio.sql deleted file mode 100644 index 673ba248..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__populacao_residente_cor_raca_municipio.sql +++ /dev/null @@ -1,14 +0,0 @@ -{{ - config( - alias="populacao_residente_cor_raca_municipio", schema="br_ibge_censo_2022" - ) -}} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast(idade as string) grupo_idade, - safe_cast(sexo as string) sexo, - safe_cast(cor_ou_raca as string) cor_raca, - safe_cast(populacao_residente_pessoas_ as int64) populacao_residente, -from - `basedosdados-staging.br_ibge_censo_2022_staging.populacao_residente_cor_raca_municipio` t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_morador_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_morador_municipio.sql deleted file mode 100644 index 59958e0c..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_morador_municipio.sql +++ /dev/null @@ -1,38 +0,0 @@ -{{ - config( - alias="quilombolas_domicilio_morador_municipio", schema="br_ibge_censo_2022" - ) -}} -with - ibge as ( - select - municipio, - safe_cast( - trim(regexp_extract(municipio, r'([^\(]+)')) as string - ) nome_municipio, - safe_cast( - trim(regexp_extract(municipio, r'\(([^)]+)\)')) as string - ) sigla_uf, - safe_cast( - domicilios_particulares_permanentes_ocupados_domicilios_ as int64 - ) domicilios, - safe_cast( - moradores_em_domicilios_particulares_permanentes_ocupados_pessoas_ - as int64 - ) moradores, - safe_cast( - moradores_quilombolas_em_domicilios_particulares_permanentes_ocupados_pessoas_ - as int64 - ) moradores_quilombolas, - # SAFE_CAST(REPLACE(media_de_moradores_em_domicilios_particulares_permanentes_ocupados_pessoas_, ",", ".") AS FLOAT64) media_moradres_domicilios, - # SAFE_CAST(REPLACE(media_de_moradores_quilombolas_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_quilombola_pessoas_, ",", ".") AS FLOAT64) media_moradores_quilombolas_domicilios, - safe_cast(localizacao_do_domicilio as string) localizacao_domicilio, - from - `basedosdados-staging.br_ibge_censo_2022_staging.quilombolas_domicilio_morador_municipio` - as t - ) -select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf) -from ibge -left join - `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 - on ibge.municipio = t2.municipio diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_pelo_menos_um_morador_quilombola_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_pelo_menos_um_morador_quilombola_municipio.sql deleted file mode 100644 index 9ab3f55d..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_pelo_menos_um_morador_quilombola_municipio.sql +++ /dev/null @@ -1,40 +0,0 @@ -{{ - config( - alias="quilombolas_domicilio_pelo_menos_um_morador_quilombola_municipio", - schema="br_ibge_censo_2022", - ) -}} -with - ibge as ( - select - municipio, - safe_cast( - trim(regexp_extract(municipio, r'([^\(]+)')) as string - ) nome_municipio, - safe_cast( - trim(regexp_extract(municipio, r'\(([^)]+)\)')) as string - ) sigla_uf, - safe_cast( - domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_quilombola_domicilios_ - as int64 - ) domicilios, - safe_cast( - moradores_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_quilombola_pessoas_ - as int64 - ) moradores, - safe_cast( - moradores_quilombolas_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_quilombola_pessoas_ - as int64 - ) moradores_quilombolas, - # SAFE_CAST(media_de_moradores_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_quilombola_pessoas_ AS FLOAT64) media_moradores_domicilios_particulares_pelo_menos_um, - # SAFE_CAST(media_de_moradores_quilombolas_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_quilombola_pessoas_ AS FLOAT64) media_moradores_quilombolas_domicilios_particulares_pelo_menos_um, - safe_cast(localizacao_do_domicilio as string) localizacao_domicilio, - from - `basedosdados-staging.br_ibge_censo_2022_staging.quilombolas_domicilio_pelo_menos_um_morador_quilombola_municipio` - as t - ) -select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf) -from ibge -left join - `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 - on ibge.municipio = t2.municipio diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_pelo_menos_um_morador_quilombola_territorio_quilombola.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_pelo_menos_um_morador_quilombola_territorio_quilombola.sql deleted file mode 100644 index a7c5e702..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_pelo_menos_um_morador_quilombola_territorio_quilombola.sql +++ /dev/null @@ -1,53 +0,0 @@ -{{ - config( - alias="quilombolas_domicilio_pelo_menos_um_morador_quilombola_territorio_quilombola", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(cod_ as string) id_territorio_quilombola, - safe_cast( - trim( - regexp_extract(territorio_quilombola_por_unidade_da_federacao, r'([^\(]+)') - ) as string - ) territorio_quilombola, - case - when - regexp_contains( - territorio_quilombola_por_unidade_da_federacao, r'\(\w{2}\)' - ) - then - safe_cast( - trim( - regexp_extract( - territorio_quilombola_por_unidade_da_federacao, r'\((\w{2})\)' - ) - ) as string - ) - else - safe_cast( - trim( - split( - split(territorio_quilombola_por_unidade_da_federacao, '(')[ - safe_offset(2) - ], - ')' - )[safe_offset(0)] - ) as string - ) - end as sigla_uf, - safe_cast( - domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_quilombola_domicilios_ - as string - ) domicilios, - safe_cast( - moradores_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_quilombola_pessoas_ - as int64 - ) moradores, - safe_cast( - moradores_quilombolas_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_quilombola_pessoas_ - as int64 - ) moradores_quilombolas, -from - `basedosdados-staging.br_ibge_censo_2022_staging.quilombolas_domicilio_pelo_menos_um_morador_quilombola_territorio_quilombola` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_indice_envelhecimento_localizacao_domicilio_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_indice_envelhecimento_localizacao_domicilio_municipio.sql deleted file mode 100644 index 64fcd835..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_indice_envelhecimento_localizacao_domicilio_municipio.sql +++ /dev/null @@ -1,24 +0,0 @@ -{{ - config( - alias="quilombolas_indice_envelhecimento_localizacao_domicilio_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_municipio, - safe_cast(localizacao_do_domicilio as string) localizacao_domicilio, - safe_cast( - replace( - indice_de_envelhecimento_da_populacao_quilombola_idosos_60_anos_ou_mais_razao_, - ",", - "." - ) as float64 - ) indice_envelhecimento, - safe_cast(idade_mediana_da_populacao_quilombola_anos_ as int64) idade_mediana, - safe_cast( - replace(razao_de_sexo_da_populacao_quilombola_razao_, ",", ".") as float64 - ) razao_sexo, -from - `basedosdados-staging.br_ibge_censo_2022_staging.quilombolas_indice_envelhecimento_localizacao_domicilio_municipio` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_indice_envelhecimento_territorio_quilombola.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_indice_envelhecimento_territorio_quilombola.sql deleted file mode 100644 index 8db72942..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_indice_envelhecimento_territorio_quilombola.sql +++ /dev/null @@ -1,77 +0,0 @@ -{{ - config( - alias="quilombolas_indice_envelhecimento_territorio_quilombola", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(ano as int64) ano, - safe_cast(cod_ as string) id_territorio_quilombola, - safe_cast( - trim( - regexp_extract(territorio_quilombola_por_unidade_da_federacao, r'([^\(]+)') - ) as string - ) territorio_quilombola, - case - when - regexp_contains( - territorio_quilombola_por_unidade_da_federacao, r'\(\w{2}\)' - ) - then - safe_cast( - trim( - regexp_extract( - territorio_quilombola_por_unidade_da_federacao, r'\((\w{2})\)' - ) - ) as string - ) - else - safe_cast( - trim( - split( - split(territorio_quilombola_por_unidade_da_federacao, '(')[ - safe_offset(2) - ], - ')' - )[safe_offset(0)] - ) as string - ) - end as sigla_uf, - safe_cast( - replace( - indice_de_envelhecimento_da_populacao_residente_em_territorios_quilombolas_idosos_60_anos_ou_mais_de_idade_razao_, - ",", - "." - ) as float64 - ) indice_envelhecimento, - safe_cast( - idade_mediana_da_populacao_residente_em_territorios_quilombolas_anos_ as int64 - ) idade_mediana, - safe_cast( - replace( - razao_de_sexo_da_populacao_residente_em_territorios_quilombolas_razao_, - ",", - "." - ) as float64 - ) razao_sexo, - safe_cast( - replace( - indice_de_envelhecimento_da_populacao_quilombola_residente_em_territorios_quilombolas_idosos_60_anos_ou_mais_de_idade_razao_, - ",", - "." - ) as float64 - ) indice_envelhecimento_populacao_quilombola, - safe_cast( - idade_mediana_da_populacao_quilombola_residente_em_territorios_quilombolas_anos_ - as int64 - ) idade_mediana_populacao_quilombola, - safe_cast( - replace( - razao_de_sexo_da_populacao_quilombola_residente_em_territorios_quilombolas_razao_, - ",", - "." - ) as float64 - ) razao_sexo_quilombola, -from - `basedosdados-staging.br_ibge_censo_2022_staging.quilombolas_indice_envelhecimento_territorio_quilombola` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_populacao_residente_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_populacao_residente_municipio.sql deleted file mode 100644 index 51249640..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_populacao_residente_municipio.sql +++ /dev/null @@ -1,28 +0,0 @@ -{{ - config( - alias="quilombolas_populacao_residente_municipio", - schema="br_ibge_censo_2022", - ) -}} -with - ibge as ( - select - municipio, - safe_cast( - trim(regexp_extract(municipio, r'([^\(]+)')) as string - ) nome_municipio, - safe_cast( - trim(regexp_extract(municipio, r'\(([^)]+)\)')) as string - ) sigla_uf, - safe_cast(localizacao_do_domicilio as string) territorios_quilombolas, - safe_cast(pessoas_quilombolas_pessoas_ as int64) pessoas_quilombolas, - safe_cast(populacao_residente_pessoas_ as int64) populacao_residente, - from - `basedosdados-staging.br_ibge_censo_2022_staging.quilombolas_populacao_residente_municipio` - as t - ) -select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf) -from ibge -left join - `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 - on ibge.municipio = t2.municipio diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_populacao_residente_territorio_quilombola.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_populacao_residente_territorio_quilombola.sql deleted file mode 100644 index 876614fc..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_populacao_residente_territorio_quilombola.sql +++ /dev/null @@ -1,47 +0,0 @@ -{{ - config( - alias="quilombolas_populacao_residente_territorio_quilombola", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(cod_ as string) id_territorio_quilombola, - safe_cast( - trim( - regexp_extract(territorio_quilombola_por_unidade_da_federacao, r'([^\(]+)') - ) as string - ) territorio_quilombola, - case - when - regexp_contains( - territorio_quilombola_por_unidade_da_federacao, r'\(\w{2}\)' - ) - then - safe_cast( - trim( - regexp_extract( - territorio_quilombola_por_unidade_da_federacao, r'\((\w{2})\)' - ) - ) as string - ) - else - safe_cast( - trim( - split( - split(territorio_quilombola_por_unidade_da_federacao, '(')[ - safe_offset(2) - ], - ')' - )[safe_offset(0)] - ) as string - ) - end as sigla_uf, - safe_cast( - pessoas_quilombolas_residentes_em_territorios_quilombolas_pessoas_ as int64 - ) pessoas_quilombolas, - safe_cast( - pessoas_residentes_em_territorios_quilombolas_pessoas_ as int64 - ) populacao_residente, -from - `basedosdados-staging.br_ibge_censo_2022_staging.quilombolas_populacao_residente_territorio_quilombola` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_morador_setor_censitario.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__setor_censitario.sql similarity index 65% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_morador_setor_censitario.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__setor_censitario.sql index d852c0bb..cc28e04d 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__domicilio_morador_setor_censitario.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__setor_censitario.sql @@ -1,17 +1,17 @@ {{ config( - alias="domicilio_morador_setor_censitario", + alias="setor_censitario", schema="br_ibge_censo_2022", - cluster_by=["id_uf", "id_municipio"], + cluster_by=["id_uf"], ) }} select safe_cast(cd_uf as string) id_uf, safe_cast(cd_mun as string) id_municipio, safe_cast(cd_setor as string) id_setor_censitario, - safe_cast(area_km2 as float64) area_setor, + safe_cast(area_km2 as float64) area, safe_cast( - st_geogfromwkb(geometry, planar => true, make_valid => true) as geography + safe.st_geogfromtext(geometry, make_valid => true) as geography ) geometria, safe_cast(v0001 as int64) pessoas, safe_cast(v0002 as int64) domicilios, @@ -20,6 +20,4 @@ select safe_cast(v0005 as float64) media_moradores_domicilios, safe_cast(v0006 as float64) porcentagem_domicilios_imputados, safe_cast(v0007 as int64) domicilios_particulares_ocupados, -from - `basedosdados-staging.br_ibge_censo_2022_staging.domicilio_morador_setor_censitario` - as t +from `basedosdados-staging.br_ibge_censo_2022_staging.setor_censitario` diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__taxa_alfabetizacao_cor_raca_grupo_idade_municipio.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__taxa_alfabetizacao_cor_raca_grupo_idade_municipio.sql deleted file mode 100644 index 3368fa86..00000000 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__taxa_alfabetizacao_cor_raca_grupo_idade_municipio.sql +++ /dev/null @@ -1,15 +0,0 @@ -{{ - config( - alias="taxa_alfabetizacao_cor_raca_grupo_idade_municipio", - schema="br_ibge_censo_2022", - ) -}} -select - safe_cast(munic_pio__c_digo_ as string) id_municipio, - safe_cast(cor_ou_ra_a as string) cor_raca, - safe_cast(sexo as string) sexo, - safe_cast(idade as string) grupo_idade, - safe_cast(valor as string) taxa_alfabetizacao, -from - `basedosdados-staging.br_ibge_censo_2022_staging.taxa_alfabetizacao_cor_raca_grupo_idade_municipio` - as t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_morador_terra_indigena.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__terra_indigena.sql similarity index 88% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_morador_terra_indigena.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__terra_indigena.sql index a77b8152..3944de6f 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__indigenas_domicilio_morador_terra_indigena.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__terra_indigena.sql @@ -1,6 +1,6 @@ {{ config( - alias="indigenas_domicilio_morador_terra_indigena", + alias="terra_indigena", schema="br_ibge_censo_2022", ) }} @@ -40,11 +40,10 @@ select safe_cast( moradores_em_domicilios_particulares_permanentes_ocupados_localizados_em_terras_indigenas_pessoas_ as int64 - ) moradores, + ) populacao, safe_cast( moradores_indigenas_em_domicilios_particulares_permanentes_ocupados_localizados_em_terras_indigenas_pessoas_ as int64 - ) moradores_indigenas, + ) populacao_indigena, # SAFE_CAST(REPLACE(media_de_moradores_indigenas_em_domicilios_particulares_permanentes_ocupados_com_pelo_menos_um_morador_indigena_localizados_em_terras_indigenas_pessoas_, ",", ".") AS FLOAT64) media_moradores_indigenas_domicilios_terras_indigenas, -from - `basedosdados-staging.br_ibge_censo_2022_staging.indigenas_domicilio_morador_terra_indigena` t +from `basedosdados-staging.br_ibge_censo_2022_staging.terra_indigena` t diff --git a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_morador_territorio_quilombola.sql b/models/br_ibge_censo_2022/br_ibge_censo_2022__territorio_quilombola.sql similarity index 88% rename from models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_morador_territorio_quilombola.sql rename to models/br_ibge_censo_2022/br_ibge_censo_2022__territorio_quilombola.sql index 1a7f7b1c..5bd4a59b 100644 --- a/models/br_ibge_censo_2022/br_ibge_censo_2022__quilombolas_domicilio_morador_territorio_quilombola.sql +++ b/models/br_ibge_censo_2022/br_ibge_censo_2022__territorio_quilombola.sql @@ -1,6 +1,6 @@ {{ config( - alias="quilombolas_domicilio_morador_territorio_quilombola", + alias="territorio_quilombola", schema="br_ibge_censo_2022", ) }} @@ -43,14 +43,12 @@ select safe_cast( moradores_em_domicilios_particulares_permanentes_ocupados_localizados_em_territorios_quilombolas_pessoas_ as int64 - ) moradores, + ) populacao, safe_cast( moradores_quilombolas_em_domicilios_particulares_permanentes_ocupados_localizados_em_territorios_quilombolas_pessoas_ as int64 - ) moradores_quilombolas, + ) populacao_quilombola, # SAFE_CAST(media_moradores_domicilios_pelo_menos_um_territorios_quilombolas AS # FLOAT64) media_moradores_domicilios_pelo_menos_um_territorios_quilombolas, # SAFE_CAST(media_moradores_quilombolas_domicilios_pelo_menos_um_territorios_quilombolas AS FLOAT64) media_moradores_quilombolas_domicilios_pelo_menos_um_territorios_quilombolas, -from - `basedosdados-staging.br_ibge_censo_2022_staging.quilombolas_domicilio_morador_territorio_quilombola` - as t +from `basedosdados-staging.br_ibge_censo_2022_staging.territorio_quilombola` as t diff --git a/models/br_ibge_censo_2022/code/censo_2022_crawler.py b/models/br_ibge_censo_2022/code/censo_2022_crawler.py index 811d98e7..830c7512 100644 --- a/models/br_ibge_censo_2022/code/censo_2022_crawler.py +++ b/models/br_ibge_censo_2022/code/censo_2022_crawler.py @@ -3,6 +3,8 @@ import os import basedosdados as bd import re + +from unidecode import unidecode from constants import constants import logging from tqdm import tqdm @@ -37,22 +39,36 @@ def dataframe_to_parquet(df: pd.DataFrame, mkdir: bool, table_id: str) -> None: return df.to_parquet(path=f"/tmp/data/br_ibge_censo_2022/input/{table_id}.parquet", compression="gzip") +def prepare_columns_for_bigquery(df): + df.columns = [ + re.sub(r'\W+', '_', unidecode(col)).lower() for col in df.columns + ] + + for col in df.columns: + print(col) + + + return df + + if __name__ == "__main__": - for k, v in constants.URLS.value.items(): - logging.info(f"Baixando dados da tabela: {k}") + selected_tables = ['alfabetizacao_grupo_idade_sexo_raca'] + for table_id in selected_tables: + table_url = constants.URLS.value[table_id] + logging.info(f"Baixando dados da tabela: {table_id}") df_final = pd.DataFrame() try: - df = sidra_to_dataframe(v) + df = sidra_to_dataframe(table_url) df = rename_dataframe(df) - dataframe_to_parquet(df, mkdir = True, table_id=k ) + dataframe_to_parquet(df, mkdir = True, table_id=table_id ) except: output_list = municipalities_as_chunks() - logging.info(f"Baixando dados em chunks da tabela: {k}") + logging.info(f"Baixando dados em chunks da tabela: {table_id}") for n in tqdm(range(len(output_list))): munis = "" munis += "".join(f"{value}" if i == 0 else f",{value}" for i, value in enumerate(output_list[n])) - url_nova = re.split(r"all(?=/v/)", v) + url_nova = re.split(r"all(?=/v/)", table_url) df = sidra_to_dataframe(url=f"{url_nova[0]}{munis}{url_nova[1]}") df = rename_dataframe(df) df_final = pd.concat([df_final, df]) - dataframe_to_parquet(df_final, mkdir = True, table_id=k ) + dataframe_to_parquet(df_final, mkdir = True, table_id=table_id ) diff --git a/models/br_ibge_censo_2022/code/constants.py b/models/br_ibge_censo_2022/code/constants.py index 39ff7696..40ca9d66 100644 --- a/models/br_ibge_censo_2022/code/constants.py +++ b/models/br_ibge_censo_2022/code/constants.py @@ -18,6 +18,7 @@ class constants(Enum): "populacao_residente_indigena_municipio": "https://apisidra.ibge.gov.br/values/t/9718/n6/all/v/93,350/p/all/c1714/allxt/c2661/allxt", "domicilios_moradores_indigenas_municipio": "https://apisidra.ibge.gov.br/values/t/9728/n6/all/v/381,382,5930,6554,8691/p/all/c2661/allxt/d/v5930%202,v6554%202", "domicilios_pelo_menos_um_morador_indigenas_municipio": "https://apisidra.ibge.gov.br/values/t/9720/n6/all/v/5938,6554,7088,7089,7090/p/all/c2661/allxt/d/v5938%202,v6554%202", + "alfabetizacao_grupo_idade_sexo_raca": "https://apisidra.ibge.gov.br/values/t/9542/n6/all/v/allxp/p/all/c59/93024/c2/allxt/c86/allxt/c287/3000,6572,6573,6574,6575,6576,6577,6578,6579,6580,6581,6582,6583,6584,6585,6586,6587,6588,6589,6590,6591,6592,6593,6594,6595,6596,6597,6598,6599,6600,6601,6602,6603,6604,6605,6606,6607,6608,6609,6610,6611,6612,6613,6614,6615,6616,6617,6656,6657,6658,6659,9486,113623" } #NOTE: CNEFE não será baixado do SIDRA diff --git a/models/br_ibge_censo_2022/code/crawl_setores.sh b/models/br_ibge_censo_2022/code/crawl_setores.sh new file mode 100755 index 00000000..64c6a68d --- /dev/null +++ b/models/br_ibge_censo_2022/code/crawl_setores.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# Função para baixar e processar os arquivos para uma UF específica +baixar_uf() { + UF="$1" + URL="https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Agregados_por_Setores_Censitarios_preliminares/malha_com_atributos/setores/shp/UF/$UF/${UF}_Malha_Preliminar_2022.zip" + ROOT="/tmp/data/" + + echo "Baixando arquivo para $UF..." + curl -o "$ROOT/input/${UF}_Malha_Preliminar_2022.zip" "$URL" + +} + + +UFS=("AC" "AL" "AP" "AM" "BA" "CE" "DF" "ES" "GO" "MA" "MT" "MS" "MG" "PA" "PB" "PR" "PE" "PI" "RJ" "RN" "RS" "RO" "RR" "SC" "SP" "SE" "TO") + + +for UF in "${UFS[@]}"; do + baixar_uf "$UF" +done + +echo "Concluído!" diff --git a/models/br_ibge_censo_2022/code/setor_censitario_crawler.py b/models/br_ibge_censo_2022/code/setor_censitario_crawler.py new file mode 100644 index 00000000..53acf4dd --- /dev/null +++ b/models/br_ibge_censo_2022/code/setor_censitario_crawler.py @@ -0,0 +1,155 @@ +from io import BytesIO +import tempfile +import zipfile +import pandas as pd +import pyarrow as pa +import pyarrow.parquet as pq +import fiona +import geopandas as gpd +import requests +from tqdm import tqdm +import basedosdados as bd + +def download_files_from_ftp(url: str) -> BytesIO: + """ + Baixa um arquivo do FTP e retorna seu conteúdo em memória. + + Parâmetros: + url (str): URL do arquivo a ser baixado. + + Retorna: + BytesIO: Conteúdo do arquivo baixado em memória. + """ + response = requests.get(url, stream=True) + response.raise_for_status() + total_size = int(response.headers.get('content-length', 0)) + block_size = 1024 # 1 Kibibyte + t = tqdm(total=total_size, unit='iB', unit_scale=True) + file_data = BytesIO() + for data in response.iter_content(block_size): + t.update(len(data)) + file_data.write(data) + t.close() + return file_data + +def convert_shp_to_parquet( + shp_file_path: str, + output_parquet_path: str, + chunk_size: int = 100000 +) -> None: + """ + Converte um arquivo .shp para o formato Parquet, incluindo a geometria como WKT e processando em chunks. + + Args: + shp_file_path (str): Caminho para o arquivo .shp. + output_parquet_path (str): Caminho onde o arquivo Parquet será salvo. + uf_relase_dates (dict): Dicionário com as datas de lançamento por estado. + sigla_uf (str): Sigla do estado sendo processado. + chunk_size (int): Número de registros a serem processados por chunk. + + Exceções: + FileNotFoundError: Se o arquivo .shp não for encontrado. + ValueError: Se houver erro na conversão de data ou formatação incorreta. + RuntimeError: Se houver problemas na conversão da geometria para WKT. + """ + # Abrir o shapefile usando fiona + try: + print(f"Lendo arquivo {shp_file_path}") + with fiona.open(shp_file_path, 'r') as src: + total_features = len(src) + print(f"Total de registros no shapefile: {total_features}") + + features = [] + writer = None # Inicializa o writer como None + + bol = 1 + for i, feature in enumerate(src, 1): + features.append(feature) + # Quando atingir o tamanho do chunk ou último registro + if len(features) == chunk_size or i == total_features: + # Converter lista de features para GeoDataFrame + gdf_chunk = gpd.GeoDataFrame.from_features(features, crs=src.crs) + try: + # Convertendo geometria para WKT + gdf_chunk['geometry'] = gdf_chunk['geometry'].apply(lambda geom: geom.wkt) + except Exception as e: + print(f"Erro ao converter a geometria para WKT no chunk que termina no registro {i}. {e}") + raise RuntimeError(f"Erro na conversão de geometria para WKT: {e}") + + # Converter para pandas DataFrame + df_chunk = pd.DataFrame(gdf_chunk) + if bol: + print(df_chunk.columns) + bol = 0 + # Converter para PyArrow Table + table_chunk = pa.Table.from_pandas(df_chunk) + + # Inicializar o ParquetWriter com o esquema na primeira iteração + if writer is None: + schema = table_chunk.schema + writer = pq.ParquetWriter(output_parquet_path, schema) + + # Escrever o chunk no arquivo Parquet + writer.write_table(table_chunk) + print(f"Chunk até registro {i} escrito no arquivo Parquet.") + + # Limpar lista de features + features = [] + del gdf_chunk, df_chunk, table_chunk + + + + # Fechar o writer após escrever todos os chunks + if writer is not None: + writer.close() + + except FileNotFoundError as e: + print(f"Arquivo .shp {shp_file_path} não encontrado. {e}") + raise e + except Exception as e: + print(f"Erro inesperado ao processar o arquivo {shp_file_path}: {e}") + raise e + + print(f"Arquivo Parquet {output_parquet_path} salvo com sucesso.") + +def unpack_zip(zip_file_path: str) -> str: + """ + Descompacta um arquivo ZIP em um diretório temporário. + + Args: + zip_file_path (str): Caminho para o arquivo ZIP. + + Retorna: + str: Caminho do diretório temporário onde os arquivos foram extraídos. + + Exceções: + zipfile.BadZipFile: Se o arquivo ZIP estiver corrompido ou inválido. + """ + temp_dir = tempfile.mkdtemp() + + with zipfile.ZipFile(zip_file_path, 'r') as zip_ref: + try: + zip_ref.extractall(temp_dir) + except zipfile.BadZipFile as e: + print(f"O arquivo zip {zip_file_path.split('/')[-1]} está provavelmente corrompido. {e}") + raise e + return temp_dir + +if __name__== '__main__': + + # NOTE: escolhemos usar os arquivos shp porque os arquivos gpkg estão com alguns setores duplicados (com poligonos diferentes para o mesmo setor) + + # FTP_SETOR_CENSITARIO = "http://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Agregados_por_Setores_Censitarios_preliminares/malha_com_atributos/setores/shp/BR/BR_Malha_Preliminar_2022.zip" + # FTP_SETOR_CENSITARIO_INDICADORES = "http://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Agregados_por_Setores_Censitarios_preliminares/agregados_por_setores_csv/BR/Agregados_preliminares_por_setores_censitarios_BR.zip" + SHP_FILE_PATH = '/home/laura/Documents/conjuntos/br_ibge_censo_2022/shp_files/BR_Malha_Preliminar_2022.shp' + OUTPUT_PARQUET_PATH ="/home/laura/Documents/conjuntos/br_ibge_censo_2022/BR_Malha_Preliminar_2022.parquet" + + # convert_shp_to_parquet(shp_file_path=SHP_FILE_PATH, + # output_parquet_path=OUTPUT_PARQUET_PATH) + + + tb = bd.Table(dataset_id='br_ibge_censo_2022', table_id='setor_censitario') + tb.create(path=OUTPUT_PARQUET_PATH, + source_format='parquet', + if_table_exists='replace', + if_storage_data_exists='pass') diff --git a/models/br_ibge_censo_2022/schema.yml b/models/br_ibge_censo_2022/schema.yml index 0b3633a6..2d29b12c 100644 --- a/models/br_ibge_censo_2022/schema.yml +++ b/models/br_ibge_censo_2022/schema.yml @@ -1,771 +1,206 @@ --- version: 2 models: - - name: br_ibge_censo_2022__quilombolas_domicilio_morador_municipio - description: Domicílios particulares permanentes ocupados e Moradores, total e - quilombolas, em domicílios particulares permanentes, segundo localização do - domicílio. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_municipio, localizacao_domicilio] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: domicilios - description: Domicílios particulares permanentes ocupados - - name: moradores - description: Moradores em domicílios particulares permanentes ocupados - - name: moradores_quilombolas - description: Moradores quilombolas em domicílios particulares permanentes - ocupados - - name: localizacao_domicilio - description: Localização do Domicílio - - name: br_ibge_censo_2022__quilombolas_populacao_residente_territorio_quilombola - description: População residente em territórios quilombolas, total e quilombola, - segundo os Territórios Quilombolas. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [territorio_quilombola, sigla_uf] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: territorio_quilombola - description: Território Quilombola - - name: sigla_uf - description: Sigla da Unidade da Federação - - name: populacao_residente - description: Pessoas residentes em territórios quilombolas - - name: pessoas_quilombolas - description: Pessoas quilombolas residentes em territórios quilombolas - - name: br_ibge_censo_2022__quilombolas_domicilio_pelo_menos_um_morador_quilombola_territorio_quilombola - description: Domicílios particulares permanentes ocupados com pelo menos um morador - quilombola e Moradores, total e quilombolas, em domicílios particulares permanentes - ocupados com pelo menos um morador quilombola, segundo os Territórios Quilombolas. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_territorio_quilombola] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_territorio_quilombola - description: ID Território Quilombola IBGE 5 dígitos - - name: territorio_quilombola - description: Território Quilombola - - name: sigla_uf - description: Sigla da Unidade da Federação - - name: domicilios - description: Domicílios particulares permanentes ocupados localizados em territórios - quilombolas - - name: moradores - description: Moradores em domicílios particulares permanentes ocupados localizados - em territórios quilombolas - - name: moradores_quilombolas - description: Moradores quilombolas em domicílios particulares permanentes - ocupados localizados em territórios quilombolas - - name: br_ibge_censo_2022__quilombolas_populacao_residente_municipio - description: População residente por municipio. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_municipio, territorios_quilombolas] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: pessoas_quilombolas - description: População residente, total e quilombola, Em territórios quilombolas - - name: populacao_residente - description: População residente, total e quilombola, fora de territórios - quilombolas - - name: br_ibge_censo_2022__quilombolas_domicilio_morador_territorio_quilombola - description: Domicílios particulares permanentes ocupados e Moradores, total e - quilombolas, em domicílios particulares permanentes, por território quilombola. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_territorio_quilombola] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_territorio_quilombola - description: ID Território Quilombola 5 dígitos IBGE - - name: territorio_quilombola - description: Território Quilombola - - name: sigla_uf - description: Sigla da Unidade da Federação - - name: domicilios - description: Domicílios particulares permanentes ocupados com pelo menos um - morador quilombola - - name: moradores - description: Moradores em domicílios particulares permanentes ocupados com - pelo menos um morador quilombola - - name: moradores_quilombolas - description: Moradores quilombolas em domicílios particulares permanentes - ocupados com pelo menos um morador quilombola - - name: br_ibge_censo_2022__indigenas_domicilio_pelo_menos_um_morador_indigena_terra_indigena - description: Domicílios particulares permanentes ocupados com pelo menos um morador - indígena e Moradores, total e indígenas, em domicílios particulares permanentes - ocupados com pelo menos um morador indígena, segundo as Terras Indígenas. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_terra_indigena] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_terra_indigena - description: ID Terra Indígena IBGE 7 dígitos - - name: terra_indigena - description: Terra Indígena - - name: domicilios - description: Domicílios particulares permanentes ocupados com pelo menos um - morador indígena - - name: moradores - description: Moradores em domicílios particulares permanentes ocupados com - pelo menos um morador indígena - - name: moradores_indigenas - description: Moradores indígenas em domicílios particulares permanentes ocupados - com pelo menos um morador indígena - - name: br_ibge_censo_2022__populacao_residente_municipio - description: População residente, por sexo, idade e forma de declaração da idade - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - id_municipio - - forma_declaracao_idade - - sexo - - idade - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: forma_declaracao_idade - description: Forma de declaração da idade - - name: sexo - description: Sexo - - name: idade - description: Idade - - name: populacao_residente - description: População residente - - name: br_ibge_censo_2022__area_territorial_densidade_demografica_municipio - description: População Residente, Área territorial e Densidade demográfica - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_municipio] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município 7 dígitos IBGE - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: populacao_residente - description: População residente - - name: area_unidade_territorial - description: Área da unidade territorial - - name: br_ibge_censo_2022__domicilio_morador_municipio - description: Domicílios particulares permanentes ocupados e Moradores em domicílios - particulares permanentes ocupados. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_municipio] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: domicilios - description: Domicílios particulares permanentes ocupados - - name: moradores - description: Moradores em domicílios particulares permanentes ocupados - - name: br_ibge_censo_2022__indice_envelhecimento_municipio - description: Índice de envelhecimento, idade mediana e razão de sexo da população - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_municipio] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: indice_envelhecimento - description: Índice de envelhecimento - - name: idade_mediana - description: Idade mediana - - name: razao_sexo - description: Razão de sexo - - name: br_ibge_censo_2022__domicilio_recenseado_especie_municipio - description: Domicílios recenseados, por espécie - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_municipio, especie] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município IBGE 7 Dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: especie - description: Espécie - - name: domicilios - description: Domicílios Recenseados - - name: br_ibge_censo_2022__indigenas_domicilio_morador_municipio - description: Domicílios particulares permanentes ocupados e Moradores, total e - indígenas, em domicílios particulares permanentes ocupados, por localização - do domicílio, nos Censos Demográficos. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_municipio, localizacao_domicilio] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: localizacao_domicilio - description: Localização Domicílio - - name: domicilios - description: Domicílios particulares permanentes ocupados - - name: moradores - description: Moradores em domicílios particulares permanentes ocupados - - name: moradores_indigenas - description: Moradores indígenas em domicílios particulares permanentes ocupados - - name: br_ibge_censo_2022__quilombolas_domicilio_pelo_menos_um_morador_quilombola_municipio - description: Domicílios particulares permanentes ocupados com pelo menos um morador - quilombola e Moradores, total e moradores quilombolas, em domicílios particulares - permanentes ocupados com pelo menos um morador quilombola, por localização do - domicílio. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_municipio, localizacao_domicilio] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: domicilios - description: Domicílios particulares permanentes ocupados com pelo menos um - morador quilombola - - name: moradores - description: Moradores em domicílios particulares permanentes ocupados com - pelo menos um morador quilombola - - name: moradores_quilombolas - description: Moradores quilombolas em domicílios particulares permanentes - ocupados com pelo menos um morador quilombola - - name: localizacao_domicilio - description: Localização do Domicílio - - name: br_ibge_censo_2022__indigenas_populacao_residente_terra_indigena - description: População residente em terras indígenas, total e indígenas, por quesito - de declaração indígena, segundo as Terras Indígenas. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_terra_indigena, quesito_declaracao_indigena] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_terra_indigena - description: ID Terra Indígena IBGE 7 dígitos - - name: terra_indigena - description: Terra Indígena - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: populacao_residente - description: Pessoas residentes em terras indígenas - - name: pessoas_indigenas - description: Pessoas indígenas residentes em terras indígenas - - name: quesito_declaracao_indigena - description: Quesito de declaração indígena - - name: br_ibge_censo_2022__indigenas_domicilio_morador_terra_indigena - description: Domicílios particulares permanentes ocupados localizados em terras - indígenas e Moradores, total e indígenas, em domicílios particulares permanentes - ocupados localizados em terras indígenas, segundo as Terras Indígenas, nos Censos - Demográficos. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_terra_indigena] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_terra_indigena - description: ID Terra Indígena IBGE 7 dígitos - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: terra_indigena - description: Terra Indígena - - name: domicilios - description: Domicílios particulares permanentes ocupados localizados em terras - indígenas - - name: moradores - description: Moradores em domicílios particulares permanentes ocupados localizados - em terras indígenas - - name: moradores_indigenas - description: Moradores indígenas em domicílios particulares permanentes ocupados - localizados em terras indígenas - - name: br_ibge_censo_2022__indigenas_domicilio_pelo_menos_um_morador_indigena_municipio - description: Domicílios particulares permanentes ocupados com pelo menos um morador - indígena e Moradores, total e indígenas, em domicílios particulares permanentes - ocupados com pelo menos um morador indígena, por localização do domicílio, nos - Censos Demográficos. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_municipio, localizacao_domicilio] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: localizacao_domicilio - description: Localização Domicílio - - name: domicilios - description: Domicílios particulares permanentes ocupados com pelo menos um - morador indígena - - name: moradores - description: Moradores em domicílios particulares permanentes ocupados com - pelo menos um morador indígena - - name: moradores_indigenas - description: Moradores indígenas em domicílios particulares permanentes ocupados - com pelo menos um morador indígena - - name: br_ibge_censo_2022__indigenas_populacao_residente_municipio - description: População residente, total e indígena, por localização do domicílio - e quesito de declaração indígena nos Censos Demográficos. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - id_municipio - - quesito_declaracao_indigena - - localizacao_domicilio - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município 7 dígitos IBGE - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: quesito_declaracao_indigena - description: Quesito de declaração Indígena - - name: localizacao_domicilio - description: Localização Domicílio - - name: pessoas_indigenas - description: Pessoas indígenas - - name: populacao_residente - description: População Residente - - name: br_ibge_censo_2022__populacao_grupo_idade_uf - description: População, por grupos de idade - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [sigla_uf, grupo_idade] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: grupo_idade - description: Grupo de idade - - name: populacao - description: População - - name: br_ibge_censo_2022__indigenas_indice_envelhecimento_grupo_idade_municipio - description: Índice de envelhecimento, idade mediana e razão de sexo da população - indígena, por quesito de declaração indígena - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - ano - - id_municipio - - quesito_declaracao_indigena - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id - - name: quesito_declaracao_indigena - description: Quesito de declaração indígena - - name: indice_envelhecimento - description: Índice de envelhecimento da população indígena - - name: idade_mediana - description: Idade mediana da população indígena - - name: razao_sexo - description: Razão de sexo da população indígena - - name: br_ibge_censo_2022__indigenas_populacao_grupo_idade_municipio - description: População indígena, por grupos de idade e sexo - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, id_municipio, grupo_idade, sexo] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id - - name: grupo_idade - description: Grupo de Idade - - name: sexo - description: Sexo - - name: populacao_residente - description: População Residentne - - name: br_ibge_censo_2022__indice_envelhecimento_cor_raca_municipio - description: Índice de envelhecimento, idade mediana e razão de sexo, por cor - ou raça here - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, id_municipio, cor_raca] - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id - - name: cor_raca - description: Cor ou Raça - - name: indice_envelhecimento - description: 'Índice de envelhecimento (Idosos: 60 anos ou mais de idade)' - - name: idade_mediana - description: Idade mediana - - name: razao_sexo - description: Razão de sexo - - name: br_ibge_censo_2022__populacao_residente_cor_raca_municipio - description: População residente, por cor ou raça, segundo o sexo e a idade - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - ano - - id_municipio - - grupo_idade - - sexo - - cor_raca - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id - - name: grupo_idade - description: Grupo de Idade - - name: sexo - description: Sexo - - name: cor_raca - description: Cor ou Raça - - name: populacao_residente - description: População - - name: br_ibge_censo_2022__coordenada_endereco - description: Coordenadas geográficas das espécies de endereços do Censo 2022 - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - id_municipio - - id_uf - - latitude - - longitude - - nivel_geo_coordenada - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_municipio - description: ID Município IBGE - 7 Dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: id_uf - description: ID da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: id - - name: especie_endereco - description: Espécie de endereço - - name: nivel_geo_coordenada - description: Nível de geocodificação - - name: latitude - description: Latitude da Coordenada de Localização da Espécie do Endereço - - name: longitude - description: Longitude da Coordenada de Localização da Espécie do Endereço - - name: ponto - description: Ponto geográfico criado a partir das colunas longitude e latitude. - - name: br_ibge_censo_2022__domicilio_quantidade_esgotamento_sanitario_municipio - description: Domicílios particulares permanentes ocupados, por existência de banheiro - ou sanitário e número de banheiros de uso exclusivo do domicílio e por tipo - de esgotamento sanitário. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - ano - - id_municipio - - tipo_esgotamento_sanitario - - tipo_quantidade_banheiro - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: tipo_esgotamento_sanitario - description: Tipo de esgotamento sanitário - - name: tipo_quantidade_banheiro - description: Existência de banheiro ou sanitário e número de banheiros de - uso exclusivo do domicílio - - name: domicilios - description: Domicílios particulares permanentes ocupados - - name: br_ibge_censo_2022__domicilio_esgotamento_sanitario_municipio - description: Domicílios particulares permanentes ocupados, por tipo de esgotamento - sanitário - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - ano - - id_municipio - - tipo_esgotamento_sanitario - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: tipo_esgotamento_sanitario - description: Tipo de esgotamento sanitário - - name: domicilios - description: Domicílios particulares permanentes ocupados - - name: br_ibge_censo_2022__domicilio_canalizacao_abastecimento_agua_municipio - description: Domicílios particulares permanentes ocupados, por existência de canalização - de água e principal forma de abastecimento de água + - name: br_ibge_censo_2022__dicionario + description: Dicionário para tradução dos códigos do conjunto br_ibge_censo_2022. + Para taduzir códigos compartilhados entre instituições, como id_municipio, buscar + por diretórios tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - - ano - - id_municipio - - tipo_abastecimento_agua - - tipo_canalizacao_agua - - not_null_proportion_multiple_columns: - at_least: 0.05 + - id_tabela + - nome_coluna + - chave + - cobertura_temporal columns: - - name: ano - description: Ano - - name: id_municipio - description: ID Município IBGE 7 dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: tipo_abastecimento_agua - description: Principal forma de abastecimento de água - - name: tipo_canalizacao_agua - description: Existência de canalização de água - - name: domicilios - description: Domicílios particulares permanentes ocupados - - name: br_ibge_censo_2022__domicilio_ligacao_abastecimento_agua_municipio - description: Domicílios particulares permanentes ocupados, por existência de ligação - à rede geral de distribuição de água e principal forma de abastecimento de água. + - name: id_tabela + description: ID Tabela + - name: nome_coluna + description: Nome da coluna + - name: chave + description: Chave + - name: cobertura_temporal + description: Cobertura Temporal + - name: valor + description: Valor + - name: br_ibge_censo_2022__indice_envelhecimento + description: Índice de envelhecimento, idade mediana e razão de sexo da população tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, id_municipio, tipo_ligacao_rede_geral] - - not_null_proportion_multiple_columns: - at_least: 0.05 + combination_of_columns: [id_municipio] columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - name: id_municipio description: ID Município IBGE 7 dígitos tests: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: tipo_ligacao_rede_geral - description: Existência de ligação à rede geral de distribuição de água e - principal forma de abastecimento de água - - name: domicilios - description: Domicílios particulares permanentes ocupados - - name: br_ibge_censo_2022__domicilio_tipo_municipio - description: Domicílios particulares permanentes ocupados, por tipo de domicílio + - name: indice_envelhecimento + description: Índice de envelhecimento + - name: idade_mediana + description: Idade mediana + - name: razao_sexo + description: Razão de sexo + - name: br_ibge_censo_2022__alfabetizacao_grupo_idade_indigena + description: Taxa de alfabetização das pessoas indígenas de 15 anos ou mais de + idade por sexo e grupos de idade tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, id_municipio, tipo_domicilio] - - not_null_proportion_multiple_columns: - at_least: 0.05 + combination_of_columns: [id_municipio, sexo, grupo_idade] columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - name: id_municipio description: ID Município IBGE 7 dígitos tests: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: tipo_domicilio - description: Tipo de domicílio - - name: domicilios - description: Domicílios particulares permanentes ocupados - - name: br_ibge_censo_2022__morador_cor_raca_esgotamento_sanitario_municipio - description: Moradores em domicílios particulares permanentes ocupados, por tipo - de esgotamento sanitário, segundo grupos de idade e cor ou raça. + - name: sexo + description: Sexo + - name: grupo_idade + description: Grupo de Idade + - name: alfabetizacao + description: Alfabetização + - name: populacao_indigena + description: Pessoas indígenas de 15 anos ou mais de idade + - name: br_ibge_censo_2022__alfabetizacao_grupo_idade_sexo_raca + description: Insert table description here tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - - ano - id_municipio - - tipo_esgotamento_sanitario - - grupo_idade - cor_raca - - not_null_proportion_multiple_columns: - at_least: 0.05 + - sexo + - grupo_idade + - alfabetizacao columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - name: id_municipio description: ID Município IBGE 7 dígitos tests: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: tipo_esgotamento_sanitario - description: Tipo de esgotamento sanitário + - name: cor_raca + description: Cor ou raça + - name: sexo + description: Sexo - name: grupo_idade description: Grupo de Idade - - name: cor_raca - description: Cor ou Raça - - name: moradores - description: 'Moradores em domicílios particulares permanentes ocupados ' - - name: br_ibge_censo_2022__morador_cor_raca_tipo_domicilio_municipio - description: Moradores em domicílios particulares permanentes ocupados, por tipo - do domicílio, segundo grupos de idade e cor ou raça. + - name: alfabetizacao + description: Alfabetização + - name: populacao + description: Pessoas de 15 anos ou mais de idade + - name: br_ibge_censo_2022__cadastro_enderecos + description: O Cadastro Nacional de Endereços para Fins Estatísticos - CNEFE é + uma base de dados de abrangência nacional criada em 2005. Esse cadastro contempla + endereços georreferenciados de domicílios e estabelecimentos de todo o país + para o ano de 2022. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - ano - - id_municipio - - tipo_domicilio - - grupo_idade - - cor_raca - - not_null_proportion_multiple_columns: - at_least: 0.05 + combination_of_columns: [id_endereco] + - custom_dictionaries: + columns_covered_by_dictionary: + - descricao_estabelecimento + - tipo_especie + - tipo_estabelecimento + - tipo_construcao + - tipo_finalidade_construcao + - tipo_edificacao_domicilio + - nivel_geocodificacao_coordenadas + dictionary_model: ref('br_ibge_censo_2022__dicionario') columns: - - name: ano - description: Ano + - name: sigla_uf + description: Sigla da Unidade da Federação tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano + to: ref('br_bd_diretorios_brasil__uf') + field: sigla - name: id_municipio - description: ID Município IBGE 7 dígitos + description: ID Município IBGE - 7 Dígitos tests: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: tipo_domicilio - description: Tipo de domicílio - - name: grupo_idade - description: Grupo de Idade - - name: cor_raca - description: Cor ou Raça - - name: moradores - description: 'Moradores em domicílios particulares permanentes ocupados ' - - name: br_ibge_censo_2022__domicilio_destino_lixo_municipio - description: Domicílios particulares permanentes ocupados, por destino do lixo + - name: id_distrito + description: ID do Distrito + - name: id_subdistrito + description: ID do Subdistrito + - name: id_setor_censitario + description: ID do Setor Censitário + - name: cep + description: CEP + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__cep') + field: cep.cep + - name: id_endereco + description: Identificador do endereço + - name: numero_quadra + description: Número da quadra + - name: numero_face + description: Número da face + - name: localidade + description: Localidade + - name: tipo_segmento_logradouro + description: Tipo do segmento do logradouro + - name: titulo_segmento_logradouro + description: Título do segmento do logradouro + - name: nome_logradouro + description: Nome do logradouro + - name: numero_logradouro + description: Número no logradouro + - name: modificador_numero + description: Modificador do número + - name: complemento_elemento_1 + description: 'Complemento: Elemento 1' + - name: complemento_valor_1 + description: 'Complemento: Valor 1' + - name: complemento_elemento_2 + description: 'Complemento: Elemento 2' + - name: complemento_valor_2 + description: 'Complemento: Valor 2' + - name: complemento_elemento_3 + description: 'Complemento: Elemento 3' + - name: complemento_valor_3 + description: 'Complemento: Valor 3' + - name: complemento_elemento_4 + description: 'Complemento: Elemento 4' + - name: complemento_valor_4 + description: 'Complemento: Valor 4' + - name: complemento_elemento_5 + description: 'Complemento: Elemento 5' + - name: complemento_valor_5 + description: 'Complemento: Valor 5' + - name: descricao_estabelecimento + description: Identificação do estabelecimento + - name: tipo_especie + description: Espécie de endereço + - name: tipo_estabelecimento + description: Tipo de estabelecimento + - name: tipo_construcao + description: Tipo de construção ou reforma + - name: tipo_finalidade_construcao + description: Tipo de finalidade de construção + - name: tipo_edificacao_domicilio + description: Tipo da edificação dos domicílios + - name: nivel_geocodificacao_coordenadas + description: Nível de geocodificação das coordenadas + - name: latitude + description: Latitude do Endereço + - name: longitude + description: Longitude do Endereço + - name: ponto + description: Ponto geográfico criado a partir das colunas longitude e latitude + - name: br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_destino_lixo + description: Moradores em domicílios particulares permanentes ocupados, por destino + do lixo, segundo grupos de idade e cor ou raça tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, id_municipio, tipo_destino_lixo] - - not_null_proportion_multiple_columns: - at_least: 0.05 + combination_of_columns: + - ano + - id_municipio + - tipo_destino_lixo + - grupo_idade + - cor_raca columns: - name: ano description: Ano @@ -781,22 +216,23 @@ models: field: id_municipio - name: tipo_destino_lixo description: Destino do lixo - - name: domicilios - description: Domicílios particulares permanentes ocupados - - name: br_ibge_censo_2022__morador_cor_raca_ligacao_abastecimento_agua_municipio - description: Moradores em domicílios particulares permanentes ocupados, por existência - de ligação à rede geral de distribuição de água e principal forma de abastecimento - de água, segundo grupos de idade e cor ou raça. + - name: grupo_idade + description: Grupo de Idade + - name: cor_raca + description: Cor ou Raça + - name: populacao + description: Moradores em domicílios particulares permanentes ocupados + - name: br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_esgotamento_sanitario + description: Moradores em domicílios particulares permanentes ocupados, por tipo + de esgotamento sanitário, segundo grupos de idade e cor ou raça tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - ano - id_municipio - - tipo_ligacao_rede_geral + - tipo_esgotamento_sanitario - grupo_idade - cor_raca - - not_null_proportion_multiple_columns: - at_least: 0.05 columns: - name: ano description: Ano @@ -810,28 +246,26 @@ models: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: tipo_ligacao_rede_geral - description: Existência de ligação à rede geral de distribuição de água e - principal forma de abastecimento de água + - name: tipo_esgotamento_sanitario + description: Tipo de esgotamento sanitário - name: grupo_idade description: Grupo de Idade - name: cor_raca description: Cor ou Raça - - name: moradores + - name: populacao description: Moradores em domicílios particulares permanentes ocupados - - name: br_ibge_censo_2022__morador_cor_raca_destino_lixo_municipio - description: Moradores em domicílios particulares permanentes ocupados, por destino - do lixo, segundo grupos de idade e cor ou raça. + - name: br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_ligacao_abastecimento_agua + description: Moradores em domicílios particulares permanentes ocupados, por existência + de ligação à rede geral de distribuição de água e principal forma de abastecimento + de água, segundo grupos de idade e cor ou raça tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - ano - id_municipio - - tipo_destino_lixo + - tipo_ligacao_rede_geral - grupo_idade - cor_raca - - not_null_proportion_multiple_columns: - at_least: 0.05 columns: - name: ano description: Ano @@ -845,86 +279,37 @@ models: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: tipo_destino_lixo - description: Destino do lixo + - name: tipo_ligacao_rede_geral + description: Existência de ligação à rede geral de distribuição de água e + principal forma de abastecimento de água - name: grupo_idade description: Grupo de Idade - name: cor_raca description: Cor ou Raça - - name: moradores + - name: populacao description: Moradores em domicílios particulares permanentes ocupados - - name: br_ibge_censo_2022__domicilio_morador_setor_censitario - description: description + - name: br_ibge_censo_2022__domicilio_recenseado + description: Domicílios recenseados, por espécie tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_uf, id_municipio, id_setor_censitario] - - not_null_proportion_multiple_columns: - at_least: 0.05 + combination_of_columns: [id_municipio, especie] columns: - - name: id_uf - description: ID da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: id_uf - name: id_municipio - description: ID Município IBGE - 7 Dígitos + description: ID Município IBGE 7 Dígitos tests: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: id_setor_censitario - description: Geocódigo de Setor Censitário - - name: area_setor - description: Área do Setor Censitário em quilômetros quadrados - - name: geometria - description: Polígono - - name: pessoas - description: Total de pessoas + - name: especie + description: Classificação do domicílio - name: domicilios - description: Total de Domicílios (DPPO + DPPV + DPPUO + DPIO + DCCM + DCSM) - - name: domicilios_particulares - description: Total de Domicílios Particulares (DPPO + DPPV + DPPUO + DPIO) - - name: domicilios_coletivos - description: Total de Domicílios Coletivos (DCCM + DCSM) - - name: media_moradores_domicilios - description: Média de moradores em Domicílios Particulares Ocupados (Total - pessoas em Domicílios Particulares Ocupados / DPPO + DPIO) - - name: porcentagem_domicilios_imputados - description: Percentual de Domicílios Particulares Ocupados Imputados (Total - DPO imputados / Total DPO) - - name: domicilios_particulares_ocupados - description: Total de Domicílios Particulares Ocupados (DPPO + DPIO) - - name: br_ibge_censo_2022__dicionario - description: Dicionário para tradução dos códigos do conjunto br_ibge_censo_2022. - Para taduzir códigos compartilhados entre instituições, como id_municipio, buscar - por diretórios + description: Total de domicílios recenseados + - name: br_ibge_censo_2022__indice_envelhecimento_raca + description: Índice de envelhecimento, idade mediana e razão de sexo, por cor + ou raça tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - id_tabela - - nome_coluna - - chave - - cobertura_temporal - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_tabela - description: ID Tabela - - name: nome_coluna - description: Nome da coluna - - name: chave - description: Chave - - name: cobertura_temporal - description: Cobertura Temporal - - name: valor - description: Valor - - name: br_ibge_censo_2022__quilombolas_localizacao_domicilio_grupo_idade_municipio - description: Tabela 8176 - População quilombola, por localização do domicílio, - grupos de idade e sexo - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 + combination_of_columns: [ano, id_municipio, cor_raca] columns: - name: ano description: Ano @@ -934,171 +319,93 @@ models: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: localizacao_domicilio - description: Localização do Domicílio - - name: idade_anos - description: Idade - tests: - - dbt_utils.accepted_range: - min_value: 0 - max_value: 120 - where: idade_anos is not null - - name: grupo_idade - description: Grupo de Idade - - name: sexo - description: Sexo - - name: pessoas - description: Pessoas Quilombolas - - name: br_ibge_censo_2022__quilombolas_indice_envelhecimento_localizacao_domicilio_municipio - description: Tabela 8178 - Índice de envelhecimento, idade mediana e razão de - sexo da população quilombola por localização do domicílio. + - name: cor_raca + description: Cor ou Raça + - name: indice_envelhecimento + description: 'Índice de envelhecimento (Idosos: 60 anos ou mais de idade)' + - name: idade_mediana + description: Idade mediana + - name: razao_sexo + description: Razão de sexo + - name: br_ibge_censo_2022__municipio + description: Tabela de indicadores no nível de município tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, id_municipio, localizacao_domicilio] - - not_null_proportion_multiple_columns: - at_least: 0.05 + combination_of_columns: [id_municipio] columns: - - name: ano - description: Ano - name: id_municipio description: ID Município IBGE 7 dígitos tests: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: localizacao_domicilio - description: Localização do Domicílio + - name: sigla_uf + description: Sigla UF + - name: domicilios + description: Domicílios particulares permanentes ocupados + - name: populacao + description: Moradores em domicílios particulares permanentes ocupados + - name: area + description: Área do município + - name: taxa_alfabetizacao + description: Taxa de alfabetização das pessoas de 15 anos ou mais de idade - name: indice_envelhecimento - description: Índice de envelhecimento da população quilombola + description: Índice de envelhecimento - name: idade_mediana - description: Idade mediana da população quilombola - tests: - - dbt_utils.accepted_range: - min_value: 0 - max_value: 120 - where: idade_mediana is not null + description: Idade mediana - name: razao_sexo - description: Razão de sexo da população quilombola - tests: - - dbt_utils.expression_is_true: - expression: '>= 1' - where: razao_sexo is not null - - name: br_ibge_censo_2022__quilombolas_populacao_residente_grupo_idade_territorio_quilombola - description: Tabela 9765 - População residente em territórios quilombolas, total - e quilombola, por grupos de idade e sexo, segundo os Territórios Quilombolas - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - - name: territorio_quilombola - description: Nome Território Quilombola - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: sexo - description: Sexo - - name: idade_anos - description: Idade - tests: - - dbt_utils.accepted_range: - min_value: 0 - max_value: 120 - where: idade_anos is not null - - name: grupo_idade - description: Grupo de Idade - - name: pessoas_quilombolas - description: Pessoas quilombolas residentes em territórios quilombolas - - name: populacao_residente - description: Pessoas residentes em territórios quilombolas - - name: br_ibge_censo_2022__quilombolas_indice_envelhecimento_territorio_quilombola - description: Tabela 9767 - Índice de envelhecimento, idade mediana e razão de - sexo da população residente em territórios quilombolas, total e quilombola, - segundo os Territórios Quilombolas + description: Razão de sexo + - name: populacao_indigena + description: Moradores indígenas + - name: populacao_indigena_terra_indigena + description: Moradores indígenas em terras indígenas + - name: populacao_quilombola + description: Moradores quilombolas + - name: populacao_quilombola_territorio_quilombola + description: Moradores quilombolas em territórios quilombolas + - name: br_ibge_censo_2022__populacao_grupo_idade_sexo_quilombola + description: População quilombola, por localização do domicílio, grupos de idade + e sexo tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, id_territorio_quilombola] - - not_null_proportion_multiple_columns: - at_least: 0.05 + combination_of_columns: + - ano + - id_municipio + - localizacao_domicilio + - grupo_idade + - sexo columns: - name: ano description: Ano - - name: id_territorio_quilombola - description: ID do Território Quilombola - - name: territorio_quilombola - description: Nome do Território Quilombola - - name: sigla_uf - description: Sigla da Unidade da Federação tests: - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: indice_envelhecimento - description: Índice de envelhecimento da população residente em territórios - quilombolas - - name: idade_mediana - description: Idade mediana da população residente em territórios quilombolas - tests: - - dbt_utils.accepted_range: - min_value: 0 - max_value: 120 - where: idade_mediana is not null - - name: razao_sexo - description: Razão de sexo da população residente em territórios quilombolas - tests: - - dbt_utils.expression_is_true: - expression: '>= 1' - where: razao_sexo is not null - - name: indice_envelhecimento_populacao_quilombola - description: Índice de envelhecimento da população quilombola residente em - territórios quilombolas - - name: idade_mediana_populacao_quilombola - description: Idade mediana da população quilombola residente em territórios - quilombolas - - name: razao_sexo_quilombola - description: Razão de sexo da população quilombola residente em territórios - quilombolas - - name: br_ibge_censo_2022__indigenas_localizacao_docimicilio_grupo_idade_municipio - description: Tabela 8175 - População indígena, por localização do domicílio, grupos - de idade e sexo - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano - name: id_municipio description: ID Município IBGE 7 dígitos tests: - relationships: to: ref('br_bd_diretorios_brasil__municipio') - field: id + field: id_municipio - name: localizacao_domicilio description: Localização do Domicílio - - name: idade_anos - description: Idade - name: grupo_idade description: Grupo de Idade - name: sexo description: Sexo - - name: pessoas - description: Pessoas Indígenas - - name: br_ibge_censo_2022__indigenas_indice_envelhecimento_localizacao_domicilio_municipio - description: Tabela 8177 - Índice de envelhecimento, idade mediana e razão de - sexo da população indígena, segundo localização do domicílio e quesito de declaração + - name: populacao_quilombola + description: Pessoas Quilombolas + - name: br_ibge_censo_2022__populacao_grupo_idade_sexo_raca + description: População indígena, por localização do domicílio, grupos de idade + e sexo tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - ano - id_municipio - - localizacao_domicilio - - quesito_declaracao_indigena - - not_null_proportion_multiple_columns: - at_least: 0.05 + - grupo_idade + - sexo + - cor_raca columns: - name: ano description: Ano @@ -1108,184 +415,238 @@ models: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: localizacao_domicilio - description: Localização do Domicílio - - name: quesito_declaracao_indigena - description: Quesito de declaração indígena - - name: indice_envelhecimento - description: Índice de envelhecimento da população indígena - - name: idade_mediana - description: Idade mediana da população indígena - tests: - - dbt_utils.accepted_range: - min_value: 0 - max_value: 120 - where: idade_mediana is not null - - name: razao_sexo - description: Razão de sexo da população indígena - tests: - - dbt_utils.expression_is_true: - expression: '>= 1' - where: razao_sexo is not null - - name: br_ibge_censo_2022__indigenas_populacao_residente_grupo_idade_terras_indigenas - description: Tabela 9764 - População residente em terras indígenas, total e indígenas, - por grupos de idade, sexo e quesito de declaração indígena, segundo as Terras - Indígenas + - name: grupo_idade + description: Grupo de Idade + - name: sexo + description: Sexo + - name: cor_raca + description: Cor ou Raça + - name: populacao + description: População + - name: br_ibge_censo_2022__populacao_idade_sexo_terra_indigena + description: População residente em terras indígenas, total e indígenas, por idade, + sexo e quesito de declaração indígena, segundo as Terras Indígenas tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: + - ano - id_terra_indigena - quesito_declaracao_indigena - sexo - - idade_anos - - ano - - not_null_proportion_multiple_columns: - at_least: 0.05 + - idade columns: + - name: ano + description: Ano - name: id_terra_indigena description: ID da Terra Indígena - name: terra_indigena - description: Nome Terra Indígena + description: Terra Indígena + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: quesito_declaracao_indigena + description: Quesito declaração indígena + - name: sexo + description: Sexo + - name: idade + description: Idade + - name: idade_anos + description: Idade em anos + - name: grupo_idade + description: Grupo de Idade + - name: populacao_indigena + description: Pessoas indígenas residentes em terras indígenas + - name: populacao + description: Pessoas residentes em terras indígenas + - name: br_ibge_censo_2022__populacao_idade_sexo_territorio_quilombola + description: População residente em territórios quilombolas, total e quilombola, + por idade e sexo, segundo os Territórios Quilombolas + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - ano + - territorio_quilombola + - sigla_uf + - sexo + - idade + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: territorio_quilombola + description: Território Quilombola - name: sigla_uf description: Sigla da Unidade da Federação tests: - relationships: to: ref('br_bd_diretorios_brasil__uf') field: sigla - - name: quesito_declaracao_indigena - description: Quesito declaração indígena - name: sexo description: Sexo - name: idade_anos description: Idade - name: grupo_idade description: Grupo de idade - - name: pessoas_indigenas - description: Pessoas indígenas residentes em terras indígenas + - name: pessoas_quilombolas + description: Pessoas quilombolas residentes em territórios quilombolas - name: populacao_residente - description: Pessoas residentes em terras indígenas - - name: br_ibge_censo_2022__indigenas_indice_envelhecimento_terras_indigenas - description: Tabela 9766 - Índice de envelhecimento, idade mediana e razão de - sexo da população residente em terras indígenas, total e indígenas, segundo - quesito de declaração e as Terras Indígenas + description: Pessoas residentes em territórios quilombolas + - name: br_ibge_censo_2022__populacao_grupo_idade_uf + description: População, por grupos de idade tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - ano - - id_terra_indigena - - terra_indigena - - sigla_uf - - quesito_declaracao_indigena - - not_null_proportion_multiple_columns: - at_least: 0.05 + combination_of_columns: [sigla_uf, grupo_idade] columns: - - name: ano - description: Ano - - name: id_terra_indigena - description: ID da Terra Indígena - - name: terra_indigena - description: Nome da Terra Indígena - name: sigla_uf description: Sigla da Unidade da Federação tests: - relationships: to: ref('br_bd_diretorios_brasil__uf') field: sigla - - name: quesito_declaracao_indigena - description: Quesito declaração indígena - - name: indice_envelhecimento - description: Índice de envelhecimento da população residente em terras indígenas - - name: idade_mediana - description: Idade mediana da população residente em terras indígenas - tests: - - dbt_utils.accepted_range: - min_value: 0 - max_value: 120 - where: idade_mediana is not null - - name: razao_sexo - description: Razão de sexo da população residente em terras indígenas - tests: - - dbt_utils.expression_is_true: - expression: '>= 1' - where: razao_sexo is not null - - name: indice_envelhecimento_populacao_indigena - description: Índice de envelhecimento da população indígena residente em terras - indígenas - - name: idade_mediana_populacao_indigena - description: Idade mediana da população indígena residente em terras indígenas - - name: razao_sexo_populacao_indigena - description: Razão de sexo da população indígena residente em terras indígenas - - name: br_ibge_censo_2022__indigenas_populacao_alfabetizada_grupo_idade_municipio - description: Tabela 8180 - Pessoas indígenas de 15 anos ou mais de idade, total - e as alfabetizadas, por sexo e grupos de idade + - name: grupo_idade + description: Grupo de idade + - name: populacao + description: População + - name: br_ibge_censo_2022__setor_censitario + description: Informações tabulares sobre os totais de pessoas e de domicílios + por espécie, bem como sobre a média de moradores em domicílios particulares + ocupados, por Setores Censitários preliminares. tests: - - not_null_proportion_multiple_columns: - at_least: 0.95 + - dbt_utils.unique_combination_of_columns: + combination_of_columns: [id_setor_censitario] + - custom_dictionaries: + columns_covered_by_dictionary: + - id_setor + - id_distrito + - id_subdistrito + - id_microrregiao + - id_mesorregiao + - id_regiao_imediata + - id_regiao_intermediaria + - id_concentracao_urbana + dictionary_model: ref('br_ibge_censo_2022__dicionario') columns: + - name: id_uf + description: ID da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: id_uf - name: id_municipio - description: ID Município IBGE 7 dígitos + description: ID Município IBGE - 7 Dígitos tests: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: sexo - description: Sexo - - name: grupo_idade - description: Grupo de Idade - - name: alfabetizacao - description: Alfabetização - - name: populacao_indigena - description: Pessoas indígenas de 15 anos ou mais de idade - - name: br_ibge_censo_2022__populacao_alfabetizada_cor_raca_grupo_idade_municipio - description: Tabela 9542 - Pessoas de 15 anos ou mais de idade, total e as alfabetizadas, - por sexo, cor ou raça e grupos de idade + - name: id_setor + description: Geocódigo de Setor Censitário + - name: area_setor + description: Área do Setor Censitário em quilômetros quadrados + - name: id_distrito + description: Código do distrito + - name: id_subdistrito + description: Código do subdistrito + - name: id_microrregiao + description: Código da microrregião + - name: id_mesorregiao + description: Código da mesorregião + - name: id_regiao_imediata + description: Código da região geográfica imediata + - name: id_regiao_intermediaria + description: Código da região geográfica intermediária + - name: id_concentracao_urbana + description: Código da Concentração Urbana + - name: geometria + description: Polígono + - name: pessoas + description: Total de pessoas + - name: domicilios + description: Total de Domicílios (DPPO + DPPV + DPPUO + DPIO + DCCM + DCSM) + - name: domicilios_particulares + description: Total de Domicílios Particulares (DPPO + DPPV + DPPUO + DPIO) + - name: domicilios_coletivos + description: Total de Domicílios Coletivos (DCCM + DCSM) + - name: media_moradores_domicilios + description: Média de moradores em Domicílios Particulares Ocupados (Total + pessoas em Domicílios Particulares Ocupados / DPPO + DPIO) + - name: porcentagem_domicilios_imputados + description: Percentual de Domicílios Particulares Ocupados Imputados (Total + DPO imputados / Total DPO) + - name: domcilios_particulares_ocupados + description: Total de Domicílios Particulares Ocupados (DPPO + DPIO) + - name: br_ibge_censo_2022__caracteristica_domicilio_grupo_idade_raca_tipo_domicilio + description: Moradores em domicílios particulares permanentes ocupados, por tipo + do domicílio, segundo grupos de idade e cor ou raça. tests: - - not_null_proportion_multiple_columns: - at_least: 0.95 + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - ano + - id_municipio + - tipo_domicilio + - grupo_idade + - cor_raca columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano - name: id_municipio description: ID Município IBGE 7 dígitos tests: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: cor_raca - description: Cor ou raça - - name: sexo - description: Sexo + - name: tipo_domicilio + description: Tipo de domicílio - name: grupo_idade description: Grupo de Idade - - name: alfabetizacao - description: Alfabetização + - name: cor_raca + description: Cor ou Raça - name: populacao - description: 'Pessoas de 15 anos ou mais de idade ' - - name: br_ibge_censo_2022__taxa_alfabetizacao_cor_raca_grupo_idade_municipio - description: Tabela 9543 - Taxa de alfabetização das pessoas de 15 anos ou mais - de idade por sexo, cor ou raça e grupos de idade + description: Moradores em domicílios particulares permanentes ocupados + - name: br_ibge_censo_2022__populacao_grupo_idade_sexo_indigena + description: Insert table description here tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: [ano, id_municipio, grupo_idade, sexo] - not_null_proportion_multiple_columns: - at_least: 0.95 + at_least: 0.05 columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano - name: id_municipio description: ID Município IBGE 7 dígitos tests: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio - - name: cor_raca - description: Cor ou raça - - name: sexo - description: Sexo - name: grupo_idade description: Grupo de Idade - - name: taxa_alfabetizacao - description: Taxa de alfabetização das pessoas de 15 anos ou mais de idade - - name: br_ibge_censo_2022__indigenas_taxa_alfabetizacao_grupo_idade_municipio - description: Tabela 8181 - Taxa de alfabetização das pessoas indígenas de 15 anos - ou mais de idade por sexo e grupos de idade + - name: sexo + description: Sexo + - name: populacao_indigena + description: Pessoas Indígenas + - name: br_ibge_censo_2022__populacao_idade_sexo + description: População por idade e sexo tests: - - not_null_proportion_multiple_columns: - at_least: 0.95 + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - id_municipio + - forma_declaracao_idade + - idade + - sexo columns: - name: id_municipio description: ID Município IBGE 7 dígitos @@ -1293,109 +654,67 @@ models: - relationships: to: ref('br_bd_diretorios_brasil__municipio') field: id_municipio + - name: forma_declaracao_idade + description: Forma de declaração da idade - name: sexo description: Sexo + - name: idade + description: Idade + - name: idade_anos + description: Idade em anos - name: grupo_idade - description: Grupo de Idade - - name: taxa_alfabetizacao - description: Taxa de alfabetização das pessoas indígenas de 15 anos ou mais - de idade - - name: br_ibge_censo_2022__cadastro_enderecos - description: O Cadastro Nacional de Endereços para Fins Estatísticos - CNEFE é - uma base de dados de abrangência nacional criada em 2005. Esse cadastro contempla - endereços georreferenciados de domicílios e estabelecimentos de todo o país - para o ano de 2022. + description: Idade agrupada em anos + - name: populacao + description: População residente + - name: br_ibge_censo_2022__territorio_quilombola + description: Domicílios particulares permanentes ocupados localizados em territórios + quilombolas e Moradores, total e quilombolas, em domicílios particulares permanentes + ocupados em territórios quilombolas, segundo os Territórios Quilombolas tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_endereco, tipo_especie] - - custom_dictionary_coverage: - columns_covered_by_dictionary: - - nivel_geocodificacao_coordenadas - - tipo_especie - - tipo_estabelecimento - - tipo_construcao - - tipo_finalidade_construcao - - tipo_edificacao_domicilio - dictionary_model: ref('br_ibge_censo_2022__dicionario') + combination_of_columns: [id_territorio_quilombola] columns: + - name: id_territorio_quilombola + description: ID do Território Quilombola + - name: territorio_quilombola + description: Nome do Território Quilombola - name: sigla_uf - description: ID da Unidade da Federação + description: Sigla da Unidade da Federação tests: - relationships: to: ref('br_bd_diretorios_brasil__uf') field: sigla - - name: id_municipio - description: ID Município IBGE - 7 Dígitos + - name: domicilios + description: Domicílios particulares permanentes ocupados localizados em territórios + quilombolas + - name: populacao + description: Moradores em domicílios particulares permanentes ocupados localizados + em territórios quilombolas + - name: populacao_quilombola + description: Moradores quilombolas em domicílios particulares permanentes + ocupados localizados em territórios quilombolas + - name: br_ibge_censo_2022__terra_indigena + description: População residente em terras indígenas, total e indígenas + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: [id_terra_indigena] + columns: + - name: id_terra_indigena + description: Código da Terra Indígena + - name: terra_indigena + description: Terra Indígena + - name: sigla_uf + description: Sigla da Unidade da Federação tests: - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: id_distrito - description: ID do Distrito - - name: id_subdistrito - description: ID do Subdistrito - - name: id_setor_censitario - description: ID do Setor Censitário - tests: [not_null] - - name: cep - description: CEP - tests: [not_null] - - name: id_endereco - description: Identificador do endereço - tests: [not_null] - - name: numero_quadra - description: Número da quadra - - name: numero_face - description: Número da face - - name: localidade - description: Localidade - - name: tipo_segmento_logradouro - description: Tipo do segmento do logradouro - - name: titulo_segmento_logradouro - description: Título do segmento do logradouro - - name: nome_logradouro - description: Nome do logradouro - - name: numero_logradouro - description: Número no logradouro - - name: modificador_numero - description: Modificador do número - - name: complemento_elemento_1 - description: 'Complemento: Elemento 1' - - name: complemento_valor_1 - description: 'Complemento: Valor 1' - - name: complemento_elemento_2 - description: 'Complemento: Elemento 2' - - name: complemento_valor_2 - description: 'Complemento: Valor 2' - - name: complemento_elemento_3 - description: 'Complemento: Elemento 3' - - name: complemento_valor_3 - description: 'Complemento: Valor 3' - - name: complemento_elemento_4 - description: 'Complemento: Elemento 4' - - name: complemento_valor_4 - description: 'Complemento: Valor 4' - - name: complemento_elemento_5 - description: 'Complemento: Elemento 5' - - name: complemento_valor_5 - description: 'Complemento: Valor 5' - - name: descricao_estabelecimento - description: Identificação do estabelecimento - - name: tipo_especie - description: Espécie de endereço - - name: tipo_estabelecimento - description: Tipo de estabelecimento - - name: tipo_construcao - description: Tipo de construção ou reforma - - name: tipo_finalidade_construcao - description: Tipo de finalidade de construção - - name: tipo_edificacao_domicilio - description: Tipo da edificação dos domicílios - - name: nivel_geocodificacao_coordenadas - description: Nível de geocodificação das coordenadas - - name: latitude - description: Latitude do Endereço - - name: longitude - description: Longitude do Endereço - - name: ponto - description: Ponto geográfico criado a partir das colunas longitude e latitude + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: domicilios + description: Domicílios particulares permanentes ocupados localizados em terras + indígenas + - name: populacao + description: Moradores em domicílios particulares permanentes ocupados localizados + em terras indígenas + - name: populacao_indigena + description: Moradores indígenas em domicílios particulares permanentes ocupados + localizados em terras indígenas