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

add: br_inep_saeb_{brasil,uf} #611

Merged
merged 4 commits into from
May 24, 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
25 changes: 25 additions & 0 deletions models/br_inep_saeb/br_inep_saeb__brasil.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{{ config(alias="brasil", schema="br_inep_saeb", materialized="table") }}

select
safe_cast(ano as int64) ano,
safe_cast(lower(rede) as string) rede,
safe_cast(lower(localizacao) as string) localizacao,
aspeddro marked this conversation as resolved.
Show resolved Hide resolved
safe_cast(disciplina as string) disciplina,
safe_cast(
case
when serie = "12" then "3" when serie = "13" then "4" else serie
end as int64
) serie,
safe_cast(media as float64) media,
safe_cast(nivel_0 as float64) nivel_0,
safe_cast(nivel_1 as float64) nivel_1,
safe_cast(nivel_2 as float64) nivel_2,
safe_cast(nivel_3 as float64) nivel_3,
safe_cast(nivel_4 as float64) nivel_4,
safe_cast(nivel_5 as float64) nivel_5,
safe_cast(nivel_6 as float64) nivel_6,
safe_cast(nivel_7 as float64) nivel_7,
safe_cast(nivel_8 as float64) nivel_8,
safe_cast(nivel_9 as float64) nivel_9,
safe_cast(nivel_10 as float64) nivel_10
from `basedosdados-staging.br_inep_saeb_staging.brasil` as t
19 changes: 8 additions & 11 deletions models/br_inep_saeb/br_inep_saeb__municipio.sql
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
{{
config(
alias="municipio",
schema="br_inep_saeb",
materialized="table",
labels={"tema": "educacao"},
)
}}
{{ config(alias="municipio", schema="br_inep_saeb", materialized="table") }}

select
safe_cast(ano as int64) ano,
safe_cast(rede as string) rede,
safe_cast(localizacao as string) localizacao,
safe_cast(lower(rede) as string) rede,
safe_cast(lower(localizacao) as string) localizacao,
safe_cast(sigla_uf as string) sigla_uf,
safe_cast(id_municipio as string) id_municipio,
safe_cast(disciplina as string) disciplina,
safe_cast(serie as int64) serie,
safe_cast(
case
when serie = "12" then "3" when serie = "13" then "4" else serie
end as int64
) serie,
round(safe_cast(media as float64), 2) media,
round(safe_cast(nivel_0 as float64), 2) nivel_0,
round(safe_cast(nivel_1 as float64), 2) nivel_1,
Expand Down
66 changes: 66 additions & 0 deletions models/br_inep_saeb/br_inep_saeb__uf.sql
aspeddro marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{{ config(alias="uf", schema="br_inep_saeb", materialized="table") }}

with
tb as (
select
safe_cast(ano as int64) ano,
safe_cast(rede as string) rede,
safe_cast(localizacao as string) localizacao,
safe_cast(sigla_uf as string) sigla_uf,
safe_cast(disciplina as string) disciplina,
safe_cast(
case
when serie = "12" then "3" when serie = "13" then "4" else serie
end as int64
) serie,
safe_cast(media as float64) media,
safe_cast(nivel_0 as float64) nivel_0,
safe_cast(nivel_1 as float64) nivel_1,
safe_cast(nivel_2 as float64) nivel_2,
safe_cast(nivel_3 as float64) nivel_3,
safe_cast(nivel_4 as float64) nivel_4,
safe_cast(nivel_5 as float64) nivel_5,
safe_cast(nivel_6 as float64) nivel_6,
safe_cast(nivel_7 as float64) nivel_7,
safe_cast(nivel_8 as float64) nivel_8,
safe_cast(nivel_9 as float64) nivel_9,
safe_cast(nivel_10 as float64) nivel_10,
from `basedosdados-staging.br_inep_saeb_staging.uf` as t
),
fixed_2021 as (
select *
from tb
-- Em 2021 as linhas estao duplicadas porque tem `Total` e `total`
-- Entao vamos excluir total
where ano = 2021 and localizacao in ("Total", "Urbana", "Rural")
),
aspeddro marked this conversation as resolved.
Show resolved Hide resolved
rest_without_2021 as (select * from tb where ano <> 2021)

select
ano,
lower(rede) as rede,
lower(localizacao) as localizacao,
sigla_uf,
disciplina,
serie,
media,
nivel_0,
nivel_1,
nivel_2,
nivel_3,
nivel_4,
nivel_5,
nivel_6,
nivel_7,
nivel_8,
nivel_9,
nivel_10
from
(
select *
from rest_without_2021
union all
select *
from fixed_2021
)
order by ano desc
137 changes: 137 additions & 0 deletions models/br_inep_saeb/schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1355,6 +1355,143 @@ models:
description: Percentual de alunos que se enquadram no nível nove de aprendizagem
- name: nivel_10
description: Percentual de alunos que se enquadram no nível dez de aprendizagem
- name: br_inep_saeb__brasil
description: Tabela resumo dos dados do SAEB com a média e percentual de alunos
dentro de cada nível de aprendizado segundo o Inep a nível Brasil
tests:
- dbt_utils.unique_combination_of_columns:
aspeddro marked this conversation as resolved.
Show resolved Hide resolved
combination_of_columns:
- ano
- rede
- localizacao
- disciplina
- serie
- 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: rede
description: Rede Escolar
tests:
- accepted_values:
values:
- municipal
- estadual
- federal
- privada
- total - estadual e municipal
- total - federal, estadual e municipal
- total - federal, estadual, municipal e privada
- name: localizacao
description: Localização da escola
tests:
- accepted_values:
values: [total, urbana, rural]
- name: disciplina
description: Disciplina
- name: serie
description: Série/Ano Escolar
- name: media
description: Média da proficiência
- name: nivel_0
description: Percentual de alunos que se enquadram no nível zero de aprendizage
- name: nivel_1
description: Percentual de alunos que se enquadram no nível um de aprendizagem
- name: nivel_2
description: Percentual de alunos que se enquadram no nível dois de aprendizage
- name: nivel_3
description: Percentual de alunos que se enquadram no nível três de aprendizage
- name: nivel_4
description: Percentual de alunos que se enquadram no nível quatro de aprendiza
- name: nivel_5
description: Percentual de alunos que se enquadram no nível cinco de aprendizag
- name: nivel_6
description: Percentual de alunos que se enquadram no nível seis de aprendizage
- name: nivel_7
description: Percentual de alunos que se enquadram no nível sete de aprendizage
- name: nivel_8
description: Percentual de alunos que se enquadram no nível oito de aprendizage
- name: nivel_9
description: Percentual de alunos que se enquadram no nível nove de aprendizage
- name: nivel_10
description: Percentual de alunos que se enquadram no nível dez de aprendizagem
- name: br_inep_saeb__uf
description: Tabela resumo dos dados do SAEB com a média e percentual de alunos
dentro de cada nível de aprendizado segundo o Inep a nível estadual
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns:
- ano
- rede
- localizacao
- sigla_uf
- disciplina
- serie
- 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: rede
description: Rede Escolar
tests:
- accepted_values:
values:
- municipal
- estadual
- federal
- privada
- total - estadual e municipal
- total - federal, estadual e municipal
- total - federal, estadual, municipal e privada
- name: localizacao
description: Localização da escola
tests:
- accepted_values:
values: [total, urbana, rural]
- name: sigla_uf
description: Sigla da Unidade da Federação
tests:
- relationships:
to: ref('br_bd_diretorios_brasil__uf')
field: sigla
- name: disciplina
description: Disciplina
- name: serie
description: Série/Ano Escolar
- name: media
description: Média da proficiência
- name: nivel_0
description: Percentual de alunos que se enquadram no nível zero de aprendizage
- name: nivel_1
description: Percentual de alunos que se enquadram no nível um de aprendizagem
- name: nivel_2
description: Percentual de alunos que se enquadram no nível dois de aprendizage
- name: nivel_3
description: Percentual de alunos que se enquadram no nível três de aprendizage
- name: nivel_4
description: Percentual de alunos que se enquadram no nível quatro de aprendiza
- name: nivel_5
description: Percentual de alunos que se enquadram no nível cinco de aprendizag
- name: nivel_6
description: Percentual de alunos que se enquadram no nível seis de aprendizage
- name: nivel_7
description: Percentual de alunos que se enquadram no nível sete de aprendizage
- name: nivel_8
description: Percentual de alunos que se enquadram no nível oito de aprendizage
- name: nivel_9
description: Percentual de alunos que se enquadram no nível nove de aprendizage
- name: nivel_10
description: Percentual de alunos que se enquadram no nível dez de aprendizagem
- name: br_inep_saeb__dicionario
description: Dicionário para tradução dos códigos do conjunto br_inep_saeb. Para
taduzir códigos compartilhados entre instituições, como id_municipio, buscar
Expand Down
Loading