From a36e5eacfcbe12ccdb159ced5a7b6959176ecf35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Thu, 14 Mar 2024 16:29:00 -0300 Subject: [PATCH 1/7] fix: fix idade column --- .../br_ibge_censo_2022__populacao_residente_municipio.sql | 1 + 1 file changed, 1 insertion(+) 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_residente_municipio.sql index f9d473a7..ef3abafe 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_residente_municipio.sql @@ -21,3 +21,4 @@ from ibge left join `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 on ibge.municipio = t2.municipio +where (idade like '% a %' or idade like '100 anos ou mais') From 9a506da5716959cd84de429515e475d26df46763 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Thu, 14 Mar 2024 16:59:31 -0300 Subject: [PATCH 2/7] fix: add complete refact & add grupo_idade column --- ...so_2022__populacao_residente_municipio.sql | 62 ++++++++++++++++++- 1 file changed, 60 insertions(+), 2 deletions(-) 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_residente_municipio.sql index ef3abafe..6d63a4e3 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_residente_municipio.sql @@ -12,13 +12,71 @@ with safe_cast(forma_de_declaracao_da_idade as string) forma_declaracao_idade, safe_cast(sexo as string) sexo, safe_cast(idade as string) idade, + case + when idade = 'Menos de 1 mês' + then 0 + when idade = 'Menos de 1 ano' + then 0 + when regexp_contains(idade, r'[0-9]+ mês') + then 0 + when regexp_contains(idade, r'[0-9]+ meses') + then 0 + 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(populacao_residente_pessoas_ as int64) populacao_residente, from `basedosdados-staging.br_ibge_censo_2022_staging.populacao_residente_municipio` t ) -select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf) +select + t2.cod as id_municipio, + ibge.* except (municipio, nome_municipio, sigla_uf, idade_num), + 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 from ibge left join `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2 on ibge.municipio = t2.municipio -where (idade like '% a %' or idade like '100 anos ou mais') From f17be400247e2c1366c2b0c92df80ff1c42bc8f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Thu, 14 Mar 2024 17:03:15 -0300 Subject: [PATCH 3/7] fix: rm age group observations from idade column --- .../br_ibge_censo_2022__populacao_residente_municipio.sql | 1 + 1 file changed, 1 insertion(+) 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_residente_municipio.sql index 6d63a4e3..107c8f0c 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_residente_municipio.sql @@ -80,3 +80,4 @@ from ibge left join `basedosdados-dev.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') From 383ad0e56d543f1a9856d69284b0e4cb7342d00a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Tue, 19 Mar 2024 10:31:47 -0300 Subject: [PATCH 4/7] fix: make requested changes --- .../br_ibge_censo_2022__populacao_residente_municipio.sql | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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_residente_municipio.sql index 107c8f0c..c9bb15de 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_residente_municipio.sql @@ -15,12 +15,10 @@ with case when idade = 'Menos de 1 mês' then 0 - when idade = 'Menos de 1 ano' - then 0 when regexp_contains(idade, r'[0-9]+ mês') - then 0 + then safe_cast(regexp_extract(idade, r'[0-9]+ mês') as int64) / 12 when regexp_contains(idade, r'[0-9]+ meses') - then 0 + 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') @@ -33,6 +31,7 @@ with select t2.cod as id_municipio, ibge.* except (municipio, nome_municipio, sigla_uf, idade_num), + idade_num as idade_anos, case when idade_num between 0 and 4 then '0 a 4 anos' From 4754ca8c19b789bf89b2c507814fbc3f67b99e53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Fri, 22 Mar 2024 10:01:27 -0300 Subject: [PATCH 5/7] fix: rm `menos de 1 ano` age group --- .../br_ibge_censo_2022__populacao_residente_municipio.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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_residente_municipio.sql index c9bb15de..883dd155 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_residente_municipio.sql @@ -79,4 +79,4 @@ from ibge left join `basedosdados-dev.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') +where not (idade like '% a %' or idade like '100 anos ou mais' or idade like 'Menos de 1 ano') From 31882e584ad09bab907859baad95cfdc5472939d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Fri, 22 Mar 2024 10:11:13 -0300 Subject: [PATCH 6/7] fix: lint sql --- .../br_ibge_censo_2022__populacao_residente_municipio.sql | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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_residente_municipio.sql index 883dd155..e99637fd 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_residente_municipio.sql @@ -79,4 +79,9 @@ from ibge left join `basedosdados-dev.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 '100 anos ou mais' + or idade like 'Menos de 1 ano' + ) From ecaa5d050f4603beaa63dfcc4b8c990c0e127923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Mon, 25 Mar 2024 15:44:51 -0300 Subject: [PATCH 7/7] fix: reorder column --- .../br_ibge_censo_2022__populacao_residente_municipio.sql | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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_residente_municipio.sql index e99637fd..386f6a00 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_residente_municipio.sql @@ -30,7 +30,7 @@ with ) select t2.cod as id_municipio, - ibge.* except (municipio, nome_municipio, sigla_uf, idade_num), + ibge.* except (municipio, nome_municipio, sigla_uf, idade_num, populacao_residente), idade_num as idade_anos, case when idade_num between 0 and 4 @@ -74,7 +74,8 @@ select when idade_num between 95 and 99 then '95 a 99 anos' else '100 anos ou mais' - end as grupo_idade + end as grupo_idade, + populacao_residente from ibge left join `basedosdados-dev.br_ibge_censo_2022_staging.auxiliary_table` t2