Skip to content

Commit

Permalink
add new models, macros and tests
Browse files Browse the repository at this point in the history
  • Loading branch information
folhesgabriel committed May 13, 2024
1 parent a0b3bc7 commit 58deeff
Show file tree
Hide file tree
Showing 18 changed files with 621 additions and 248 deletions.
148 changes: 77 additions & 71 deletions models/br_ibge_censo_2022/schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -920,19 +920,20 @@ models:
- 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
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
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_municipio
to: ref('br_bd_diretorios_brasil__municipio')
field: id_municipio
- name: localizacao_domicilio
description: Localização do Domicílio
- name: idade_anos
Expand All @@ -941,32 +942,30 @@ models:
- dbt_utils.accepted_range:
min_value: 0
max_value: 120
where: 'idade_anos is not null'
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.
description: Tabela 8178 - Índice de envelhecimento, idade mediana e razão de
sexo da população quilombola por localização do domicílio.
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns:
- ano
- id_municipio
- localizacao_domicilio
combination_of_columns: [ano, id_municipio, localizacao_domicilio]
- not_null_proportion_multiple_columns:
at_least: 0.05
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_municipio
to: ref('br_bd_diretorios_brasil__municipio')
field: id_municipio
- name: localizacao_domicilio
description: Localização do Domicílio
- name: indice_envelhecimento
Expand All @@ -977,18 +976,19 @@ models:
- dbt_utils.accepted_range:
min_value: 0
max_value: 120
where: 'idade_mediana is not null'
where: idade_mediana is not null
- 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'
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
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
at_least: 0.05
columns:
- name: ano
description: Ano
Expand All @@ -998,8 +998,8 @@ models:
description: Sigla da Unidade da Federação
tests:
- relationships:
to: ref('br_bd_diretorios_brasil__uf')
field: sigla
to: ref('br_bd_diretorios_brasil__uf')
field: sigla
- name: sexo
description: Sexo
- name: idade_anos
Expand All @@ -1008,22 +1008,22 @@ models:
- dbt_utils.accepted_range:
min_value: 0
max_value: 120
where: 'idade_anos is not null'
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: 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
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns:
- ano
- id_territorio_quilombola
combination_of_columns: [ano, id_territorio_quilombola]
- not_null_proportion_multiple_columns:
at_least: 0.05
at_least: 0.05
columns:
- name: ano
description: Ano
Expand All @@ -1035,47 +1035,48 @@ models:
description: Sigla da Unidade da Federação
tests:
- relationships:
to: ref('br_bd_diretorios_brasil__uf')
field: sigla
to: ref('br_bd_diretorios_brasil__uf')
field: sigla
- name: indice_envelhecimento
description: Índice de envelhecimento da população residente em territórios
quilombolas
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'
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'
where: razao_sexo is not null
- name: indice_envelhecimento_populacao_quilombola
description: Índice de envelhecimento da população quilombola residente em
territórios quilombolas
territórios quilombolas
- name: idade_mediana_populacao_quilombola
description: Idade mediana da população quilombola residente em territórios
quilombolas
quilombolas
- name: razao_sexo_quilombola
description: Razão de sexo da população quilombola residente em territórios
quilombolas
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
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
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
to: ref('br_bd_diretorios_brasil__municipio')
field: id
- name: localizacao_domicilio
description: Localização do Domicílio
- name: idade_anos
Expand All @@ -1087,25 +1088,26 @@ models:
- 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
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
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns:
- ano
- id_municipio
- localizacao_domicilio
- quesito_declaracao_indigena
combination_of_columns:
- ano
- id_municipio
- localizacao_domicilio
- quesito_declaracao_indigena
- not_null_proportion_multiple_columns:
at_least: 0.05
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_municipio
to: ref('br_bd_diretorios_brasil__municipio')
field: id_municipio
- name: localizacao_domicilio
description: Localização do Domicílio
- name: quesito_declaracao_indigena
Expand All @@ -1118,25 +1120,27 @@ models:
- dbt_utils.accepted_range:
min_value: 0
max_value: 120
where: 'idade_mediana is not null'
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'
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
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
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns:
- id_terra_indigena
- quesito_declaracao_indigena
- sexo
- idade_anos
- ano
combination_of_columns:
- id_terra_indigena
- quesito_declaracao_indigena
- sexo
- idade_anos
- ano
- not_null_proportion_multiple_columns:
at_least: 0.05
at_least: 0.05
columns:
- name: id_terra_indigena
description: ID da Terra Indígena
Expand All @@ -1146,8 +1150,8 @@ models:
description: Sigla da Unidade da Federação
tests:
- relationships:
to: ref('br_bd_diretorios_brasil__uf')
field: sigla
to: ref('br_bd_diretorios_brasil__uf')
field: sigla
- name: quesito_declaracao_indigena
description: Quesito declaração indígena
- name: sexo
Expand All @@ -1161,17 +1165,19 @@ models:
- 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: 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
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns:
- ano
- id_terra_indigena
- terra_indigena
- sigla_uf
- quesito_declaracao_indigena
combination_of_columns:
- ano
- id_terra_indigena
- terra_indigena
- sigla_uf
- quesito_declaracao_indigena
- not_null_proportion_multiple_columns:
at_least: 0.05
at_least: 0.05
columns:
- name: ano
description: Ano
Expand All @@ -1183,8 +1189,8 @@ models:
description: Sigla da Unidade da Federação
tests:
- relationships:
to: ref('br_bd_diretorios_brasil__uf')
field: sigla
to: ref('br_bd_diretorios_brasil__uf')
field: sigla
- name: quesito_declaracao_indigena
description: Quesito declaração indígena
- name: indice_envelhecimento
Expand All @@ -1195,16 +1201,16 @@ models:
- dbt_utils.accepted_range:
min_value: 0
max_value: 120
where: 'idade_mediana is not null'
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'
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
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
Expand Down
5 changes: 0 additions & 5 deletions models/br_ms_cnes/br_ms_cnes__dados_complementares.sql
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@
"data_type": "int64",
"range": {"start": 2005, "end": 2024, "interval": 1},
},
pre_hook="DROP ALL ROW ACCESS POLICIES ON {{ this }}",
post_hook=[
'CREATE OR REPLACE ROW ACCESS POLICY allusers_filter ON {{this}} GRANT TO ("allUsers") FILTER USING (DATE_DIFF(CURRENT_DATE(),DATE(CAST(ano AS INT64),CAST(mes AS INT64),1), MONTH) > 6)',
'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter ON {{this}} GRANT TO ("group:[email protected]", "group:[email protected]") FILTER USING (True)',
],
)
}}
with
Expand Down
2 changes: 1 addition & 1 deletion models/br_ms_cnes/br_ms_cnes__dicionario.sql
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ select
safe_cast(id_tabela as string) id_tabela,
safe_cast(nome_coluna as string) nome_coluna,
safe_cast(chave as string) chave,
safe_cast(cobertura_temporal as string) cobertura_temporal,
safe_cast(replace(cobertura_temporal, '-1', '(1)') as string) cobertura_temporal,
safe_cast(valor as string) valor,
from `basedosdados-staging.br_ms_cnes_staging.dicionario` as t
7 changes: 1 addition & 6 deletions models/br_ms_cnes/br_ms_cnes__equipamento.sql
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@
"data_type": "int64",
"range": {"start": 2005, "end": 2024, "interval": 1},
},
pre_hook="DROP ALL ROW ACCESS POLICIES ON {{ this }}",
post_hook=[
'CREATE OR REPLACE ROW ACCESS POLICY allusers_filter ON {{this}} GRANT TO ("allUsers") FILTER USING (DATE_DIFF(CURRENT_DATE(),DATE(CAST(ano AS INT64),CAST(mes AS INT64),1), MONTH) > 6)',
'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter ON {{this}} GRANT TO ("group:[email protected]", "group:[email protected]") FILTER USING (True)',
],
)
}}

Expand Down Expand Up @@ -45,7 +40,7 @@ select
safe_cast(sigla_uf as string) as sigla_uf,
safe_cast(id_municipio as string) as id_municipio,
safe_cast(cnes as string) as id_estabelecimento_cnes,
safe_cast(codequip as string) as id_equipamento,
ltrim(safe_cast(codequip as string), '0') as id_equipamento,
safe_cast(tipequip as string) as tipo_equipamento,
safe_cast(qt_exist as string) as quantidade_equipamentos,
safe_cast(qt_uso as string) as quantidade_equipamentos_ativos,
Expand Down
Loading

0 comments on commit 58deeff

Please sign in to comment.