Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feat]: add new br_ibge_censo_2022 models #590

Merged
merged 2 commits into from
May 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{{
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{{
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
{{
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'
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
{{
config(
alias="indigenas_populacao_residente_grupo_idade_terras_indigenas",
schema="br_ibge_censo_2022",
)
}}
with
ibge as (
select
safe_cast(ano as int64) as 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(sexo as string) sexo,
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(
pessoas_indigenas_residentes_em_terras_indigenas_pessoas_ as int64
) pessoas_indigenas,
safe_cast(
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`
)
select
ibge.* except (idade, idade_num, pessoas_indigenas, populacao_residente),
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_indigenas,
populacao_residente,
from ibge
where
not (
idade like '% a %'
or idade like '100 anos ou mais'
or idade like 'Menos de 1 ano'
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{{
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
Loading
Loading