From 775e45299f23078c51c2d3b827b0c191b1a117ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Tue, 30 Jan 2024 16:47:37 -0300 Subject: [PATCH] fix(inep): adds schema and sql for fixing inep tbl --- dbt_project.yml | 3 + ...ep_indicadores_educacionais__municipio.sql | 231 ++++ .../code/debug.ipynb | 210 ++++ .../code/download_inep_files.sh | 16 + .../schema.yml | 1116 +++++++++++++++++ 5 files changed, 1576 insertions(+) create mode 100644 models/br_inep_indicadores_educacionais/br_inep_indicadores_educacionais__municipio.sql create mode 100644 models/br_inep_indicadores_educacionais/code/debug.ipynb create mode 100755 models/br_inep_indicadores_educacionais/code/download_inep_files.sh create mode 100644 models/br_inep_indicadores_educacionais/schema.yml diff --git a/dbt_project.yml b/dbt_project.yml index aabfa32a..27c53ea4 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -172,6 +172,9 @@ models: br_inep_enem: +materialized: table +schema: br_inep_enem + br_inep_indicadores_educacionais: + +materialized: table + +schema: br_inep_indicadores_educacionais br_inep_saeb: +materialized: table +schema: br_inep_saeb diff --git a/models/br_inep_indicadores_educacionais/br_inep_indicadores_educacionais__municipio.sql b/models/br_inep_indicadores_educacionais/br_inep_indicadores_educacionais__municipio.sql new file mode 100644 index 00000000..8cf56ced --- /dev/null +++ b/models/br_inep_indicadores_educacionais/br_inep_indicadores_educacionais__municipio.sql @@ -0,0 +1,231 @@ +{{ config( + alias='municipio', + schema='br_inep_indicadores_educacionais', + materialized='table', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2006, + "end": 2022, + "interval": 1} + }, + cluster_by = ["id_municipio"])}} +SELECT +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(id_municipio AS STRING) id_municipio, +SAFE_CAST(localizacao AS STRING) localizacao, +SAFE_CAST(rede AS STRING) rede, +SAFE_CAST(atu_ei AS FLOAT64) atu_ei, +SAFE_CAST(atu_ei_creche AS FLOAT64) atu_ei_creche, +SAFE_CAST(atu_ei_pre_escola AS FLOAT64) atu_ei_pre_escola, +SAFE_CAST(atu_ef AS FLOAT64) atu_ef, +SAFE_CAST(atu_ef_anos_iniciais AS FLOAT64) atu_ef_anos_iniciais, +SAFE_CAST(atu_ef_anos_finais AS FLOAT64) atu_ef_anos_finais, +SAFE_CAST(atu_ef_1_ano AS FLOAT64) atu_ef_1_ano, +SAFE_CAST(atu_ef_2_ano AS FLOAT64) atu_ef_2_ano, +SAFE_CAST(atu_ef_3_ano AS FLOAT64) atu_ef_3_ano, +SAFE_CAST(atu_ef_4_ano AS FLOAT64) atu_ef_4_ano, +SAFE_CAST(atu_ef_5_ano AS FLOAT64) atu_ef_5_ano, +SAFE_CAST(atu_ef_6_ano AS FLOAT64) atu_ef_6_ano, +SAFE_CAST(atu_ef_7_ano AS FLOAT64) atu_ef_7_ano, +SAFE_CAST(atu_ef_8_ano AS FLOAT64) atu_ef_8_ano, +SAFE_CAST(atu_ef_9_ano AS FLOAT64) atu_ef_9_ano, +SAFE_CAST(atu_ef_turmas_unif_multi_fluxo AS FLOAT64) atu_ef_turmas_unif_multi_fluxo, +SAFE_CAST(atu_em AS FLOAT64) atu_em, +SAFE_CAST(atu_em_1_ano AS FLOAT64) atu_em_1_ano, +SAFE_CAST(atu_em_2_ano AS FLOAT64) atu_em_2_ano, +SAFE_CAST(atu_em_3_ano AS FLOAT64) atu_em_3_ano, +SAFE_CAST(atu_em_4_ano AS FLOAT64) atu_em_4_ano, +SAFE_CAST(atu_em_nao_seriado AS FLOAT64) atu_em_nao_seriado, +SAFE_CAST(had_ei AS FLOAT64) had_ei, +SAFE_CAST(had_ei_creche AS FLOAT64) had_ei_creche, +SAFE_CAST(had_ei_pre_escola AS FLOAT64) had_ei_pre_escola, +SAFE_CAST(had_ef AS FLOAT64) had_ef, +SAFE_CAST(had_ef_anos_iniciais AS FLOAT64) had_ef_anos_iniciais, +SAFE_CAST(had_ef_anos_finais AS FLOAT64) had_ef_anos_finais, +SAFE_CAST(had_ef_1_ano AS FLOAT64) had_ef_1_ano, +SAFE_CAST(had_ef_2_ano AS FLOAT64) had_ef_2_ano, +SAFE_CAST(had_ef_3_ano AS FLOAT64) had_ef_3_ano, +SAFE_CAST(had_ef_4_ano AS FLOAT64) had_ef_4_ano, +SAFE_CAST(had_ef_5_ano AS FLOAT64) had_ef_5_ano, +SAFE_CAST(had_ef_6_ano AS FLOAT64) had_ef_6_ano, +SAFE_CAST(had_ef_7_ano AS FLOAT64) had_ef_7_ano, +SAFE_CAST(had_ef_8_ano AS FLOAT64) had_ef_8_ano, +SAFE_CAST(had_ef_9_ano AS FLOAT64) had_ef_9_ano, +SAFE_CAST(had_em AS FLOAT64) had_em, +SAFE_CAST(had_em_1_ano AS FLOAT64) had_em_1_ano, +SAFE_CAST(had_em_2_ano AS FLOAT64) had_em_2_ano, +SAFE_CAST(had_em_3_ano AS FLOAT64) had_em_3_ano, +SAFE_CAST(had_em_4_ano AS FLOAT64) had_em_4_ano, +SAFE_CAST(had_em_nao_seriado AS FLOAT64) had_em_nao_seriado, +SAFE_CAST(tdi_ef AS FLOAT64) tdi_ef, +SAFE_CAST(tdi_ef_anos_iniciais AS FLOAT64) tdi_ef_anos_iniciais, +SAFE_CAST(tdi_ef_anos_finais AS FLOAT64) tdi_ef_anos_finais, +SAFE_CAST(tdi_ef_1_ano AS FLOAT64) tdi_ef_1_ano, +SAFE_CAST(tdi_ef_2_ano AS FLOAT64) tdi_ef_2_ano, +SAFE_CAST(tdi_ef_3_ano AS FLOAT64) tdi_ef_3_ano, +SAFE_CAST(tdi_ef_4_ano AS FLOAT64) tdi_ef_4_ano, +SAFE_CAST(tdi_ef_5_ano AS FLOAT64) tdi_ef_5_ano, +SAFE_CAST(tdi_ef_6_ano AS FLOAT64) tdi_ef_6_ano, +SAFE_CAST(tdi_ef_7_ano AS FLOAT64) tdi_ef_7_ano, +SAFE_CAST(tdi_ef_8_ano AS FLOAT64) tdi_ef_8_ano, +SAFE_CAST(tdi_ef_9_ano AS FLOAT64) tdi_ef_9_ano, +SAFE_CAST(tdi_em AS FLOAT64) tdi_em, +SAFE_CAST(tdi_em_1_ano AS FLOAT64) tdi_em_1_ano, +SAFE_CAST(tdi_em_2_ano AS FLOAT64) tdi_em_2_ano, +SAFE_CAST(tdi_em_3_ano AS FLOAT64) tdi_em_3_ano, +SAFE_CAST(tdi_em_4_ano AS FLOAT64) tdi_em_4_ano, +SAFE_CAST(taxa_aprovacao_ef AS FLOAT64) taxa_aprovacao_ef, +SAFE_CAST(taxa_aprovacao_ef_anos_iniciais AS FLOAT64) taxa_aprovacao_ef_anos_iniciais, +SAFE_CAST(taxa_aprovacao_ef_anos_finais AS FLOAT64) taxa_aprovacao_ef_anos_finais, +SAFE_CAST(taxa_aprovacao_ef_1_ano AS FLOAT64) taxa_aprovacao_ef_1_ano, +SAFE_CAST(taxa_aprovacao_ef_2_ano AS FLOAT64) taxa_aprovacao_ef_2_ano, +SAFE_CAST(taxa_aprovacao_ef_3_ano AS FLOAT64) taxa_aprovacao_ef_3_ano, +SAFE_CAST(taxa_aprovacao_ef_4_ano AS FLOAT64) taxa_aprovacao_ef_4_ano, +SAFE_CAST(taxa_aprovacao_ef_5_ano AS FLOAT64) taxa_aprovacao_ef_5_ano, +SAFE_CAST(taxa_aprovacao_ef_6_ano AS FLOAT64) taxa_aprovacao_ef_6_ano, +SAFE_CAST(taxa_aprovacao_ef_7_ano AS FLOAT64) taxa_aprovacao_ef_7_ano, +SAFE_CAST(taxa_aprovacao_ef_8_ano AS FLOAT64) taxa_aprovacao_ef_8_ano, +SAFE_CAST(taxa_aprovacao_ef_9_ano AS FLOAT64) taxa_aprovacao_ef_9_ano, +SAFE_CAST(taxa_aprovacao_em AS FLOAT64) taxa_aprovacao_em, +SAFE_CAST(taxa_aprovacao_em_1_ano AS FLOAT64) taxa_aprovacao_em_1_ano, +SAFE_CAST(taxa_aprovacao_em_2_ano AS FLOAT64) taxa_aprovacao_em_2_ano, +SAFE_CAST(taxa_aprovacao_em_3_ano AS FLOAT64) taxa_aprovacao_em_3_ano, +SAFE_CAST(taxa_aprovacao_em_4_ano AS FLOAT64) taxa_aprovacao_em_4_ano, +SAFE_CAST(taxa_aprovacao_em_nao_seriado AS FLOAT64) taxa_aprovacao_em_nao_seriado, +SAFE_CAST(taxa_reprovacao_ef AS FLOAT64) taxa_reprovacao_ef, +SAFE_CAST(taxa_reprovacao_ef_anos_iniciais AS FLOAT64) taxa_reprovacao_ef_anos_iniciais, +SAFE_CAST(taxa_reprovacao_ef_anos_finais AS FLOAT64) taxa_reprovacao_ef_anos_finais, +SAFE_CAST(taxa_reprovacao_ef_1_ano AS FLOAT64) taxa_reprovacao_ef_1_ano, +SAFE_CAST(taxa_reprovacao_ef_2_ano AS FLOAT64) taxa_reprovacao_ef_2_ano, +SAFE_CAST(taxa_reprovacao_ef_3_ano AS FLOAT64) taxa_reprovacao_ef_3_ano, +SAFE_CAST(taxa_reprovacao_ef_4_ano AS FLOAT64) taxa_reprovacao_ef_4_ano, +SAFE_CAST(taxa_reprovacao_ef_5_ano AS FLOAT64) taxa_reprovacao_ef_5_ano, +SAFE_CAST(taxa_reprovacao_ef_6_ano AS FLOAT64) taxa_reprovacao_ef_6_ano, +SAFE_CAST(taxa_reprovacao_ef_7_ano AS FLOAT64) taxa_reprovacao_ef_7_ano, +SAFE_CAST(taxa_reprovacao_ef_8_ano AS FLOAT64) taxa_reprovacao_ef_8_ano, +SAFE_CAST(taxa_reprovacao_ef_9_ano AS FLOAT64) taxa_reprovacao_ef_9_ano, +SAFE_CAST(taxa_reprovacao_em AS FLOAT64) taxa_reprovacao_em, +SAFE_CAST(taxa_reprovacao_em_1_ano AS FLOAT64) taxa_reprovacao_em_1_ano, +SAFE_CAST(taxa_reprovacao_em_2_ano AS FLOAT64) taxa_reprovacao_em_2_ano, +SAFE_CAST(taxa_reprovacao_em_3_ano AS FLOAT64) taxa_reprovacao_em_3_ano, +SAFE_CAST(taxa_reprovacao_em_4_ano AS FLOAT64) taxa_reprovacao_em_4_ano, +SAFE_CAST(taxa_reprovacao_em_nao_seriado AS FLOAT64) taxa_reprovacao_em_nao_seriado, +SAFE_CAST(taxa_abandono_ef AS FLOAT64) taxa_abandono_ef, +SAFE_CAST(taxa_abandono_ef_anos_iniciais AS FLOAT64) taxa_abandono_ef_anos_iniciais, +SAFE_CAST(taxa_abandono_ef_anos_finais AS FLOAT64) taxa_abandono_ef_anos_finais, +SAFE_CAST(taxa_abandono_ef_1_ano AS FLOAT64) taxa_abandono_ef_1_ano, +SAFE_CAST(taxa_abandono_ef_2_ano AS FLOAT64) taxa_abandono_ef_2_ano, +SAFE_CAST(taxa_abandono_ef_3_ano AS FLOAT64) taxa_abandono_ef_3_ano, +SAFE_CAST(taxa_abandono_ef_4_ano AS FLOAT64) taxa_abandono_ef_4_ano, +SAFE_CAST(taxa_abandono_ef_5_ano AS FLOAT64) taxa_abandono_ef_5_ano, +SAFE_CAST(taxa_abandono_ef_6_ano AS FLOAT64) taxa_abandono_ef_6_ano, +SAFE_CAST(taxa_abandono_ef_7_ano AS FLOAT64) taxa_abandono_ef_7_ano, +SAFE_CAST(taxa_abandono_ef_8_ano AS FLOAT64) taxa_abandono_ef_8_ano, +SAFE_CAST(taxa_abandono_ef_9_ano AS FLOAT64) taxa_abandono_ef_9_ano, +SAFE_CAST(taxa_abandono_em AS FLOAT64) taxa_abandono_em, +SAFE_CAST(taxa_abandono_em_1_ano AS FLOAT64) taxa_abandono_em_1_ano, +SAFE_CAST(taxa_abandono_em_2_ano AS FLOAT64) taxa_abandono_em_2_ano, +SAFE_CAST(taxa_abandono_em_3_ano AS FLOAT64) taxa_abandono_em_3_ano, +SAFE_CAST(taxa_abandono_em_4_ano AS FLOAT64) taxa_abandono_em_4_ano, +SAFE_CAST(taxa_abandono_em_nao_seriado AS FLOAT64) taxa_abandono_em_nao_seriado, +SAFE_CAST(tnr_ef AS FLOAT64) tnr_ef, +SAFE_CAST(tnr_ef_anos_iniciais AS FLOAT64) tnr_ef_anos_iniciais, +SAFE_CAST(tnr_ef_anos_finais AS FLOAT64) tnr_ef_anos_finais, +SAFE_CAST(tnr_ef_1_ano AS FLOAT64) tnr_ef_1_ano, +SAFE_CAST(tnr_ef_2_ano AS FLOAT64) tnr_ef_2_ano, +SAFE_CAST(tnr_ef_3_ano AS FLOAT64) tnr_ef_3_ano, +SAFE_CAST(tnr_ef_4_ano AS FLOAT64) tnr_ef_4_ano, +SAFE_CAST(tnr_ef_5_ano AS FLOAT64) tnr_ef_5_ano, +SAFE_CAST(tnr_ef_6_ano AS FLOAT64) tnr_ef_6_ano, +SAFE_CAST(tnr_ef_7_ano AS FLOAT64) tnr_ef_7_ano, +SAFE_CAST(tnr_ef_8_ano AS FLOAT64) tnr_ef_8_ano, +SAFE_CAST(tnr_ef_9_ano AS FLOAT64) tnr_ef_9_ano, +SAFE_CAST(tnr_em AS FLOAT64) tnr_em, +SAFE_CAST(tnr_em_1_ano AS FLOAT64) tnr_em_1_ano, +SAFE_CAST(tnr_em_2_ano AS FLOAT64) tnr_em_2_ano, +SAFE_CAST(tnr_em_3_ano AS FLOAT64) tnr_em_3_ano, +SAFE_CAST(tnr_em_4_ano AS FLOAT64) tnr_em_4_ano, +SAFE_CAST(tnr_em_nao_seriado AS FLOAT64) tnr_em_nao_seriado, +SAFE_CAST(dsu_ei AS FLOAT64) dsu_ei, +SAFE_CAST(dsu_ei_creche AS FLOAT64) dsu_ei_creche, +SAFE_CAST(dsu_ei_pre_escola AS FLOAT64) dsu_ei_pre_escola, +SAFE_CAST(dsu_ef AS FLOAT64) dsu_ef, +SAFE_CAST(dsu_ef_anos_iniciais AS FLOAT64) dsu_ef_anos_iniciais, +SAFE_CAST(dsu_ef_anos_finais AS FLOAT64) dsu_ef_anos_finais, +SAFE_CAST(dsu_em AS FLOAT64) dsu_em, +SAFE_CAST(dsu_ep AS FLOAT64) dsu_ep, +SAFE_CAST(dsu_eja AS FLOAT64) dsu_eja, +SAFE_CAST(dsu_ee AS FLOAT64) dsu_ee, +SAFE_CAST(afd_ei_grupo_1 AS FLOAT64) afd_ei_grupo_1, +SAFE_CAST(afd_ei_grupo_2 AS FLOAT64) afd_ei_grupo_2, +SAFE_CAST(afd_ei_grupo_3 AS FLOAT64) afd_ei_grupo_3, +SAFE_CAST(afd_ei_grupo_4 AS FLOAT64) afd_ei_grupo_4, +SAFE_CAST(afd_ei_grupo_5 AS FLOAT64) afd_ei_grupo_5, +SAFE_CAST(afd_ef_grupo_1 AS FLOAT64) afd_ef_grupo_1, +SAFE_CAST(afd_ef_grupo_2 AS FLOAT64) afd_ef_grupo_2, +SAFE_CAST(afd_ef_grupo_3 AS FLOAT64) afd_ef_grupo_3, +SAFE_CAST(afd_ef_grupo_4 AS FLOAT64) afd_ef_grupo_4, +SAFE_CAST(afd_ef_grupo_5 AS FLOAT64) afd_ef_grupo_5, +SAFE_CAST(afd_ef_anos_iniciais_grupo_1 AS FLOAT64) afd_ef_anos_iniciais_grupo_1, +SAFE_CAST(afd_ef_anos_iniciais_grupo_2 AS FLOAT64) afd_ef_anos_iniciais_grupo_2, +SAFE_CAST(afd_ef_anos_iniciais_grupo_3 AS FLOAT64) afd_ef_anos_iniciais_grupo_3, +SAFE_CAST(afd_ef_anos_iniciais_grupo_4 AS FLOAT64) afd_ef_anos_iniciais_grupo_4, +SAFE_CAST(afd_ef_anos_iniciais_grupo_5 AS FLOAT64) afd_ef_anos_iniciais_grupo_5, +SAFE_CAST(afd_ef_anos_finais_grupo_1 AS FLOAT64) afd_ef_anos_finais_grupo_1, +SAFE_CAST(afd_ef_anos_finais_grupo_2 AS FLOAT64) afd_ef_anos_finais_grupo_2, +SAFE_CAST(afd_ef_anos_finais_grupo_3 AS FLOAT64) afd_ef_anos_finais_grupo_3, +SAFE_CAST(afd_ef_anos_finais_grupo_4 AS FLOAT64) afd_ef_anos_finais_grupo_4, +SAFE_CAST(afd_ef_anos_finais_grupo_5 AS FLOAT64) afd_ef_anos_finais_grupo_5, +SAFE_CAST(afd_em_grupo_1 AS FLOAT64) afd_em_grupo_1, +SAFE_CAST(afd_em_grupo_2 AS FLOAT64) afd_em_grupo_2, +SAFE_CAST(afd_em_grupo_3 AS FLOAT64) afd_em_grupo_3, +SAFE_CAST(afd_em_grupo_4 AS FLOAT64) afd_em_grupo_4, +SAFE_CAST(afd_em_grupo_5 AS FLOAT64) afd_em_grupo_5, +SAFE_CAST(afd_eja_fundamental_grupo_1 AS FLOAT64) afd_eja_fundamental_grupo_1, +SAFE_CAST(afd_eja_fundamental_grupo_2 AS FLOAT64) afd_eja_fundamental_grupo_2, +SAFE_CAST(afd_eja_fundamental_grupo_3 AS FLOAT64) afd_eja_fundamental_grupo_3, +SAFE_CAST(afd_eja_fundamental_grupo_4 AS FLOAT64) afd_eja_fundamental_grupo_4, +SAFE_CAST(afd_eja_fundamental_grupo_5 AS FLOAT64) afd_eja_fundamental_grupo_5, +SAFE_CAST(afd_eja_medio_grupo_1 AS FLOAT64) afd_eja_medio_grupo_1, +SAFE_CAST(afd_eja_medio_grupo_2 AS FLOAT64) afd_eja_medio_grupo_2, +SAFE_CAST(afd_eja_medio_grupo_3 AS FLOAT64) afd_eja_medio_grupo_3, +SAFE_CAST(afd_eja_medio_grupo_4 AS FLOAT64) afd_eja_medio_grupo_4, +SAFE_CAST(afd_eja_medio_grupo_5 AS FLOAT64) afd_eja_medio_grupo_5, +SAFE_CAST(ird_baixa_regularidade AS FLOAT64) ird_baixa_regularidade, +SAFE_CAST(ird_media_baixa AS FLOAT64) ird_media_baixa, +SAFE_CAST(ird_media_alta AS FLOAT64) ird_media_alta, +SAFE_CAST(ird_alta AS FLOAT64) ird_alta, +SAFE_CAST(ied_ef_nivel_1 AS FLOAT64) ied_ef_nivel_1, +SAFE_CAST(ied_ef_nivel_2 AS FLOAT64) ied_ef_nivel_2, +SAFE_CAST(ied_ef_nivel_3 AS FLOAT64) ied_ef_nivel_3, +SAFE_CAST(ied_ef_nivel_4 AS FLOAT64) ied_ef_nivel_4, +SAFE_CAST(ied_ef_nivel_5 AS FLOAT64) ied_ef_nivel_5, +SAFE_CAST(ied_ef_nivel_6 AS FLOAT64) ied_ef_nivel_6, +SAFE_CAST(ied_ef_anos_iniciais_nivel_1 AS FLOAT64) ied_ef_anos_iniciais_nivel_1, +SAFE_CAST(ied_ef_anos_iniciais_nivel_2 AS FLOAT64) ied_ef_anos_iniciais_nivel_2, +SAFE_CAST(ied_ef_anos_iniciais_nivel_3 AS FLOAT64) ied_ef_anos_iniciais_nivel_3, +SAFE_CAST(ied_ef_anos_iniciais_nivel_4 AS FLOAT64) ied_ef_anos_iniciais_nivel_4, +SAFE_CAST(ied_ef_anos_iniciais_nivel_5 AS FLOAT64) ied_ef_anos_iniciais_nivel_5, +SAFE_CAST(ied_ef_anos_iniciais_nivel_6 AS FLOAT64) ied_ef_anos_iniciais_nivel_6, +SAFE_CAST(ied_ef_anos_finais_nivel_1 AS FLOAT64) ied_ef_anos_finais_nivel_1, +SAFE_CAST(ied_ef_anos_finais_nivel_2 AS FLOAT64) ied_ef_anos_finais_nivel_2, +SAFE_CAST(ied_ef_anos_finais_nivel_3 AS FLOAT64) ied_ef_anos_finais_nivel_3, +SAFE_CAST(ied_ef_anos_finais_nivel_4 AS FLOAT64) ied_ef_anos_finais_nivel_4, +SAFE_CAST(ied_ef_anos_finais_nivel_5 AS FLOAT64) ied_ef_anos_finais_nivel_5, +SAFE_CAST(ied_ef_anos_finais_nivel_6 AS FLOAT64) ied_ef_anos_finais_nivel_6, +SAFE_CAST(ied_em_nivel_1 AS FLOAT64) ied_em_nivel_1, +SAFE_CAST(ied_em_nivel_2 AS FLOAT64) ied_em_nivel_2, +SAFE_CAST(ied_em_nivel_3 AS FLOAT64) ied_em_nivel_3, +SAFE_CAST(ied_em_nivel_4 AS FLOAT64) ied_em_nivel_4, +SAFE_CAST(ied_em_nivel_5 AS FLOAT64) ied_em_nivel_5, +SAFE_CAST(ied_em_nivel_6 AS FLOAT64) ied_em_nivel_6, +SAFE_CAST(icg_nivel_1 AS FLOAT64) icg_nivel_1, +SAFE_CAST(icg_nivel_2 AS FLOAT64) icg_nivel_2, +SAFE_CAST(icg_nivel_3 AS FLOAT64) icg_nivel_3, +SAFE_CAST(icg_nivel_4 AS FLOAT64) icg_nivel_4, +SAFE_CAST(icg_nivel_5 AS FLOAT64) icg_nivel_5, +SAFE_CAST(icg_nivel_6 AS FLOAT64) icg_nivel_6 +FROM basedosdados-staging.br_inep_indicadores_educacionais_staging.municipio AS t +where id_municipio is not null \ No newline at end of file diff --git a/models/br_inep_indicadores_educacionais/code/debug.ipynb b/models/br_inep_indicadores_educacionais/code/debug.ipynb new file mode 100644 index 00000000..b881e76f --- /dev/null +++ b/models/br_inep_indicadores_educacionais/code/debug.ipynb @@ -0,0 +1,210 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import zipfile\n", + "from zipfile import ZipFile\n", + "import os" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Download" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "def unzip_file(zip_path, extract_to):\n", + " print(f\"Extracting data from the file {os.path.basename(zip_path)}\")\n", + "\n", + " try:\n", + " with zipfile.ZipFile(zip_path) as z:\n", + " z.extractall(extract_to)\n", + " print(\"Data extracted successfully!\")\n", + " except zipfile.BadZipFile:\n", + " print(f\"The file {os.path.basename(zip_path)} is not a valid ZIP file.\")\n", + " except zipfile.LargeZipFile:\n", + " print(f\"The ZIP file {os.path.basename(zip_path)} is too large to be processed.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['DSU_2022_MUNICIPIOS.zip',\n", + " 'TDI_2022_MUNICIPIOS.zip',\n", + " 'IED_2022_MUNICIPIOS.zip',\n", + " 'ATU_2022_MUNICIPIOS.zip',\n", + " 'HAD_2022_MUNICIPIOS.zip',\n", + " 'IRD_2022_MUNICIPIOS.zip',\n", + " 'ICG_2022_MUNICIPIOS.zip',\n", + " 'AFD_2022_MUNICIPIOS.zip']" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[x for x in os.listdir(\"./\") if x.endswith(\".zip\")]" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting data from the file DSU_2022_MUNICIPIOS.zip\n", + "Data extracted successfully!\n", + "Extracting data from the file TDI_2022_MUNICIPIOS.zip\n", + "Data extracted successfully!\n", + "Extracting data from the file IED_2022_MUNICIPIOS.zip\n", + "Data extracted successfully!\n", + "Extracting data from the file ATU_2022_MUNICIPIOS.zip\n", + "Data extracted successfully!\n", + "Extracting data from the file HAD_2022_MUNICIPIOS.zip\n", + "Data extracted successfully!\n", + "Extracting data from the file IRD_2022_MUNICIPIOS.zip\n", + "Data extracted successfully!\n", + "Extracting data from the file ICG_2022_MUNICIPIOS.zip\n", + "Data extracted successfully!\n", + "Extracting data from the file AFD_2022_MUNICIPIOS.zip\n", + "Data extracted successfully!\n" + ] + } + ], + "source": [ + "for file in [x for x in os.listdir(\"./\") if x.endswith(\".zip\")]:\n", + " unzip_file(f\"/Users/apple/Documents/queries-basedosdados-dev/models/br_inep_indicadores_educacionais/code/{file}\",\n", + " f\"/Users/apple/Documents/queries-basedosdados-dev/models/br_inep_indicadores_educacionais/code/{file.split('.zip')[0]}/\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Files" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Número de linhas da tabela afd >>> 67118\n", + "Número de linhas após o dropna(): 67117\n", + "NA's excluídos: 1\n", + "Número de linhas da tabela atu >>> 66515\n", + "Número de linhas após o dropna(): 66515\n", + "NA's excluídos: 0\n", + "Número de linhas da tabela dsu >>> 67301\n", + "Número de linhas após o dropna(): 67301\n", + "NA's excluídos: 0\n", + "Número de linhas da tabela had >>> 66509\n", + "Número de linhas após o dropna(): 66509\n", + "NA's excluídos: 0\n", + "Número de linhas da tabela icg >>> 67303\n", + "Número de linhas após o dropna(): 67303\n", + "NA's excluídos: 0\n", + "Número de linhas da tabela ied >>> 66266\n", + "Número de linhas após o dropna(): 66266\n", + "NA's excluídos: 0\n", + "Número de linhas da tabela ird >>> 66845\n", + "Número de linhas após o dropna(): 66845\n", + "NA's excluídos: 0\n", + "Número de linhas da tabela tdi >>> 65548\n", + "Número de linhas após o dropna(): 65548\n", + "NA's excluídos: 0\n" + ] + } + ], + "source": [ + "tables = [\"afd\", \"atu\", \"dsu\", \"had\", \"icg\", \"ied\", \"ird\", \"tdi\"]\n", + "for table in tables:\n", + " if table == \"afd\":\n", + " df = pd.read_excel(\"/Users/apple/Documents/queries-basedosdados-dev/models/br_inep_indicadores_educacionais/code/AFD_2022_MUNICIPIOS/AFD_2022_MUNICIPIOS/AFD_MUNICIPIOS_2022.xlsx\", skiprows=10, dtype=str)\n", + " size = df.drop(range(67118, 67123)).__len__()\n", + " elif table == \"atu\":\n", + " df = pd.read_excel(\"/Users/apple/Documents/queries-basedosdados-dev/models/br_inep_indicadores_educacionais/code/ATU_2022_MUNICIPIOS/ATU_2022_MUNICIPIOS/ATU_MUNICIPIOS_2022.xlsx\", skiprows=8, dtype=str)\n", + " size = df.drop(range(66515, 66518)).__len__()\n", + " elif table == \"dsu\":\n", + " df = pd.read_excel(\"/Users/apple/Documents/queries-basedosdados-dev/models/br_inep_indicadores_educacionais/code/DSU_2022_MUNICIPIOS/DSU_2022_MUNICIPIOS/DSU_MUNICIPIOS_2022.xlsx\", skiprows=9, dtype=str)\n", + " size = df.drop(range(67301, 67303) ).__len__()\n", + " elif table == \"had\":\n", + " df = pd.read_excel(\"/Users/apple/Documents/queries-basedosdados-dev/models/br_inep_indicadores_educacionais/code/HAD_2022_MUNICIPIOS/HAD_2022_MUNICIPIOS/HAD_MUNICIPIOS_2022.xlsx\", skiprows=8, dtype=str)\n", + " size = df.drop(range(66509, 66512) ).__len__()\n", + " elif table == \"icg\":\n", + " df = pd.read_excel(\"/Users/apple/Documents/queries-basedosdados-dev/models/br_inep_indicadores_educacionais/code/ICG_2022_MUNICIPIOS/ICG_2022_MUNICIPIOS/ICG_MUNICIPIOS_2022.xlsx\", skiprows=8, dtype=str)\n", + " size = df.drop(range(67303, 67308) ).__len__() \n", + " elif table == \"ied\":\n", + " df = pd.read_excel(\"/Users/apple/Documents/queries-basedosdados-dev/models/br_inep_indicadores_educacionais/code/IED_2022_MUNICIPIOS/IED_2022_MUNICIPIOS/IED_MUNICIPIOS_2022.xlsx\", skiprows=10, dtype=str)\n", + " size = df.drop(range(66266, 66271) ).__len__()\n", + " elif table == \"ird\":\n", + " df = pd.read_excel(\"/Users/apple/Documents/queries-basedosdados-dev/models/br_inep_indicadores_educacionais/code/IRD_2022_MUNICIPIOS/IRD_2022_MUNICIPIOS/IRD_MUNICIPIOS_2022.xlsx\", skiprows=9, dtype=str)\n", + " size = df.drop(range(66845, 66850) ).__len__()\n", + " elif table == \"tdi\":\n", + " df = pd.read_excel(\"/Users/apple/Documents/queries-basedosdados-dev/models/br_inep_indicadores_educacionais/code/TDI_2022_MUNICIPIOS/TDI_2022_MUNICIPIOS/TDI_MUNICIPIOS_2022.xlsx\", skiprows=8, dtype=str)\n", + " size = df.drop(range(65548, 65550) ).__len__()\n", + "\n", + " size_after = df.dropna(subset=['CO_MUNICIPIO']).__len__()\n", + " del df\n", + " print(f\"Número de linhas da tabela {table} >>> {size}\") \n", + " print(f'Número de linhas após o dropna(): {size_after}') \n", + " print(f\"NA's excluídos: {size - size_after}\")\n", + " \n", + " \n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.9.13 ('venv-dbt': venv)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "a22ba135588e949b99821a9e5ebddaae15c53a72a44e31d85cb1a209aa66e9ad" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/models/br_inep_indicadores_educacionais/code/download_inep_files.sh b/models/br_inep_indicadores_educacionais/code/download_inep_files.sh new file mode 100755 index 00000000..6da60577 --- /dev/null +++ b/models/br_inep_indicadores_educacionais/code/download_inep_files.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +urls=( + "https://download.inep.gov.br/informacoes_estatisticas/indicadores_educacionais/2022/AFD_2022_MUNICIPIOS.zip" + "https://download.inep.gov.br/informacoes_estatisticas/indicadores_educacionais/2022/ICG_2022_MUNICIPIOS.zip" + "https://download.inep.gov.br/informacoes_estatisticas/indicadores_educacionais/2022/IED_2022_MUNICIPIOS.zip" + "https://download.inep.gov.br/informacoes_estatisticas/indicadores_educacionais/2022/ATU_2022_MUNICIPIOS.zip" + "https://download.inep.gov.br/informacoes_estatisticas/indicadores_educacionais/2022/HAD_2022_MUNICIPIOS.zip" + "https://download.inep.gov.br/informacoes_estatisticas/indicadores_educacionais/2022/DSU_2022_MUNICIPIOS.zip" + "https://download.inep.gov.br/informacoes_estatisticas/indicadores_educacionais/2022/IRD_2022_MUNICIPIOS.zip" + "https://download.inep.gov.br/informacoes_estatisticas/indicadores_educacionais/2022/TDI_2022_MUNICIPIOS.zip" +) + +for url in "${urls[@]}"; do + curl -O "$url" +done \ No newline at end of file diff --git a/models/br_inep_indicadores_educacionais/schema.yml b/models/br_inep_indicadores_educacionais/schema.yml new file mode 100644 index 00000000..177e51d6 --- /dev/null +++ b/models/br_inep_indicadores_educacionais/schema.yml @@ -0,0 +1,1116 @@ +version: 2 + +models: + - name: br_inep_indicadores_educacionais__municipio + description: Indicadores educacionais do Inep a nível de município + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - ano + - id_municipio + - localizacao + - rede + columns: + - name: ano + description: Ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: localizacao + description: Localização + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: rede + description: Rede Escolar + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ei + description: Média de Alunos por Turma - Educação Infantil + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ei_creche + description: Média de Alunos por Turma - Educação Infantil Creche + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ei_pre_escola + description: Média de Alunos por Turma - Educação Infantil Pré escola + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef + description: Média de Alunos por Turma - Ensino Fundamental + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_anos_iniciais + description: Média de Alunos por Turma - Ensino Fundamental Anos Iniciais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_anos_finais + description: Média de Alunos por Turma - Ensino Fundamental Anos Finais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_1_ano + description: Média de Alunos por Turma - Ensino Fundamental 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_2_ano + description: Média de Alunos por Turma - Ensino Fundamental 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_3_ano + description: Média de Alunos por Turma - Ensino Fundamental 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_4_ano + description: Média de Alunos por Turma - Ensino Fundamental 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_5_ano + description: Média de Alunos por Turma - Ensino Fundamental 5º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_6_ano + description: Média de Alunos por Turma - Ensino Fundamental 6º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_7_ano + description: Média de Alunos por Turma - Ensino Fundamental 7º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_8_ano + description: Média de Alunos por Turma - Ensino Fundamental 8º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_9_ano + description: Média de Alunos por Turma - Ensino Fundamental 9º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_ef_turmas_unif_multi_fluxo + description: Média de Alunos por Turma - Ensino Fundamental Turmas Unificadas, + Multi, Multietapa e Correção de fluxo + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_em + description: Média de Alunos por Turma - Ensino Médio + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_em_1_ano + description: Média de Alunos por Turma - Ensino Médio 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_em_2_ano + description: Média de Alunos por Turma - Ensino Médio 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_em_3_ano + description: Média de Alunos por Turma - Ensino Médio 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_em_4_ano + description: Média de Alunos por Turma - Ensino Médio 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: atu_em_nao_seriado + description: Média de Alunos por Turma - Ensino Médio Não Seriado + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ei + description: Média de Horas-Aula diária - Educação Infantil + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ei_creche + description: Média de Horas-Aula diária - Educação Infantil Creche + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ei_pre_escola + description: Média de Horas-Aula diária - Educação Infantil Pré-escola + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef + description: Média de Horas-Aula diária - Ensino Fundamental + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef_anos_iniciais + description: Média de Horas-Aula diária - Ensino Fundamental Anos Iniciais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef_anos_finais + description: Média de Horas-Aula diária - Ensino Fundamental Anos Finais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef_1_ano + description: Média de Horas-Aula diária - Ensino Fundamental 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef_2_ano + description: Média de Horas-Aula diária - Ensino Fundamental 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef_3_ano + description: Média de Horas-Aula diária - Ensino Fundamental 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef_4_ano + description: Média de Horas-Aula diária - Ensino Fundamental 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef_5_ano + description: Média de Horas-Aula diária - Ensino Fundamental 5º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef_6_ano + description: Média de Horas-Aula diária - Ensino Fundamental 6º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef_7_ano + description: Média de Horas-Aula diária - Ensino Fundamental 7º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef_8_ano + description: Média de Horas-Aula diária - Ensino Fundamental 8º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_ef_9_ano + description: Média de Horas-Aula diária - Ensino Fundamental 9º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_em + description: Média de Horas-Aula diária - Ensino Médio + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_em_1_ano + description: Média de Horas-Aula diária - Ensino Médio 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_em_2_ano + description: Média de Horas-Aula diária - Ensino Médio 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_em_3_ano + description: Média de Horas-Aula diária - Ensino Médio 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_em_4_ano + description: Média de Horas-Aula diária - Ensino Médio 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: had_em_nao_seriado + description: Média de Horas-Aula diária - Ensino Médio Não Seriado + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef + description: Taxa de distorção idade-série - Ensino Fundamental + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef_anos_iniciais + description: Taxa de distorção idade-série - Ensino Fundamental Anos Iniciais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef_anos_finais + description: Taxa de distorção idade-série - Ensino Fundamental Anos Finais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef_1_ano + description: Taxa de distorção idade-série - Ensino Fundamental 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef_2_ano + description: Taxa de distorção idade-série - Ensino Fundamental 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef_3_ano + description: Taxa de distorção idade-série - Ensino Fundamental 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef_4_ano + description: Taxa de distorção idade-série - Ensino Fundamental 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef_5_ano + description: Taxa de distorção idade-série - Ensino Fundamental 5º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef_6_ano + description: Taxa de distorção idade-série - Ensino Fundamental 6º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef_7_ano + description: Taxa de distorção idade-série - Ensino Fundamental 7º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef_8_ano + description: Taxa de distorção idade-série - Ensino Fundamental 8º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_ef_9_ano + description: Taxa de distorção idade-série - Ensino Fundamental 9º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_em + description: Taxa de distorção idade-série - Ensino Médio + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_em_1_ano + description: Taxa de distorção idade-série - Ensino Médio 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_em_2_ano + description: Taxa de distorção idade-série - Ensino Médio 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_em_3_ano + description: Taxa de distorção idade-série - Ensino Médio 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tdi_em_4_ano + description: Taxa de distorção idade-série - Ensino Médio 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef + description: Taxa de Aprovação - Ensino Fundamental + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef_anos_iniciais + description: Taxa de Aprovação - Ensino Fundamental Anos Iniciais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef_anos_finais + description: Taxa de Aprovação - Ensino Fundamental Anos Finais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef_1_ano + description: Taxa de Aprovação - Ensino Fundamental 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef_2_ano + description: Taxa de Aprovação - Ensino Fundamental 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef_3_ano + description: Taxa de Aprovação - Ensino Fundamental 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef_4_ano + description: Taxa de Aprovação - Ensino Fundamental 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef_5_ano + description: Taxa de Aprovação - Ensino Fundamental 5º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef_6_ano + description: Taxa de Aprovação - Ensino Fundamental 6º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef_7_ano + description: Taxa de Aprovação - Ensino Fundamental 7º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef_8_ano + description: Taxa de Aprovação - Ensino Fundamental 8º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_ef_9_ano + description: Taxa de Aprovação - Ensino Fundamental 9º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_em + description: Taxa de Aprovação - Ensino Médio + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_em_1_ano + description: Taxa de Aprovação - Ensino Médio 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_em_2_ano + description: Taxa de Aprovação - Ensino Médio 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_em_3_ano + description: Taxa de Aprovação - Ensino Médio 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_em_4_ano + description: Taxa de Aprovação - Ensino Médio 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_aprovacao_em_nao_seriado + description: Taxa de Aprovação - Ensino Médio Não Seriado + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef + description: Taxa de Reprovação - Ensino Fundamental + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef_anos_iniciais + description: Taxa de Reprovação - Ensino Fundamental Anos Iniciais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef_anos_finais + description: Taxa de Reprovação - Ensino Fundamental Anos Finais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef_1_ano + description: Taxa de Reprovação - Ensino Fundamental 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef_2_ano + description: Taxa de Reprovação - Ensino Fundamental 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef_3_ano + description: Taxa de Reprovação - Ensino Fundamental 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef_4_ano + description: Taxa de Reprovação - Ensino Fundamental 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef_5_ano + description: Taxa de Reprovação - Ensino Fundamental 5º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef_6_ano + description: Taxa de Reprovação - Ensino Fundamental 6º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef_7_ano + description: Taxa de Reprovação - Ensino Fundamental 7º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef_8_ano + description: Taxa de Reprovação - Ensino Fundamental 8º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_ef_9_ano + description: Taxa de Reprovação - Ensino Fundamental 9º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_em + description: Taxa de Reprovação - Ensino Médio + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_em_1_ano + description: Taxa de Reprovação - Ensino Médio 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_em_2_ano + description: Taxa de Reprovação - Ensino Médio 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_em_3_ano + description: Taxa de Reprovação - Ensino Médio 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_em_4_ano + description: Taxa de Reprovação - Ensino Médio 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_reprovacao_em_nao_seriado + description: Taxa de Reprovação - Ensino Médio Não Seriado + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef + description: Taxa de Abandono - Ensino Fundamental + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef_anos_iniciais + description: Taxa de Abandono - Ensino Fundamental Anos Iniciais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef_anos_finais + description: Taxa de Abandono - Ensino Fundamental Anos Finais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef_1_ano + description: Taxa de Abandono - Ensino Fundamental 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef_2_ano + description: Taxa de Abandono - Ensino Fundamental 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef_3_ano + description: Taxa de Abandono - Ensino Fundamental 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef_4_ano + description: Taxa de Abandono - Ensino Fundamental 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef_5_ano + description: Taxa de Abandono - Ensino Fundamental 5º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef_6_ano + description: Taxa de Abandono - Ensino Fundamental 6º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef_7_ano + description: Taxa de Abandono - Ensino Fundamental 7º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef_8_ano + description: Taxa de Abandono - Ensino Fundamental 8º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_ef_9_ano + description: Taxa de Abandono - Ensino Fundamental 9º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_em + description: Taxa de Abandono - Ensino Médio + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_em_1_ano + description: Taxa de Abandono - Ensino Médio 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_em_2_ano + description: Taxa de Abandono - Ensino Médio 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_em_3_ano + description: Taxa de Abandono - Ensino Médio 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_em_4_ano + description: Taxa de Abandono - Ensino Médio 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: taxa_abandono_em_nao_seriado + description: Taxa de Abandono - Ensino Médio Não seriado + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef + description: Taxa de Não Resposta - Ensino Fundamental + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef_anos_iniciais + description: Taxa de Não Resposta - Ensino Fundamental Anos Iniciais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef_anos_finais + description: Taxa de Não Resposta - Ensino Fundamental Anos Finais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef_1_ano + description: Taxa de Não Resposta - Ensino Fundamental 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef_2_ano + description: Taxa de Não Resposta - Ensino Fundamental 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef_3_ano + description: Taxa de Não Resposta - Ensino Fundamental 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef_4_ano + description: Taxa de Não Resposta - Ensino Fundamental 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef_5_ano + description: Taxa de Não Resposta - Ensino Fundamental 5º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef_6_ano + description: Taxa de Não Resposta - Ensino Fundamental 6º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef_7_ano + description: Taxa de Não Resposta - Ensino Fundamental 7º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef_8_ano + description: Taxa de Não Resposta - Ensino Fundamental 8º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_ef_9_ano + description: Taxa de Não Resposta - Ensino Fundamental 9º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_em + description: Taxa de Não Resposta - Ensino Médio + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_em_1_ano + description: Taxa de Não Resposta - Ensino Médio 1º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_em_2_ano + description: Taxa de Não Resposta - Ensino Médio 2º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_em_3_ano + description: Taxa de Não Resposta - Ensino Médio 3º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_em_4_ano + description: Taxa de Não Resposta - Ensino Médio 4º ano + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tnr_em_nao_seriado + description: Taxa de Não Resposta - Ensino Médio Não Seriado + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: dsu_ei + description: Percentual de Docentes com Curso Superior - Educação Infantil + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: dsu_ei_creche + description: Percentual de Docentes com Curso Superior - Educação Infantil + Creche + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: dsu_ei_pre_escola + description: Percentual de Docentes com Curso Superior - Educação Infantil + Pré-escola + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: dsu_ef + description: Percentual de Docentes com Curso Superior - Ensino Fundamental + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: dsu_ef_anos_iniciais + description: Percentual de Docentes com Curso Superior - Ensino Fundamental + Anos Iniciais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: dsu_ef_anos_finais + description: Percentual de Docentes com Curso Superior - Ensino Fundamental + Anos Finais + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: dsu_em + description: Percentual de Docentes com Curso Superior - Ensino Médio + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: dsu_ep + description: Percentual de Docentes com Curso Superior - Educação Profissional + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: dsu_eja + description: Percentual de Docentes com Curso Superior - Educação Jovens Adultos + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: dsu_ee + description: Percentual de Docentes com Curso Superior - Educação Especial + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ei_grupo_1 + description: Adequação da Formação Docente - Educação Infantil Grupo 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ei_grupo_2 + description: Adequação da Formação Docente - Educação Infantil Grupo 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ei_grupo_3 + description: Adequação da Formação Docente - Educação Infantil Grupo 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ei_grupo_4 + description: Adequação da Formação Docente - Educação Infantil Grupo 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ei_grupo_5 + description: Adequação da Formação Docente - Educação Infantil Grupo 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_grupo_1 + description: Adequação da Formação Docente - Ensino Fundamental Grupo 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_grupo_2 + description: Adequação da Formação Docente - Ensino Fundamental Grupo 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_grupo_3 + description: Adequação da Formação Docente - Ensino Fundamental Grupo 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_grupo_4 + description: Adequação da Formação Docente - Ensino Fundamental Grupo 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_grupo_5 + description: Adequação da Formação Docente - Ensino Fundamental Grupo 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_anos_iniciais_grupo_1 + description: Adequação da Formação Docente - Ensino Fundamental Anos Iniciais + Grupo 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_anos_iniciais_grupo_2 + description: Adequação da Formação Docente - Ensino Fundamental Anos Iniciais + Grupo 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_anos_iniciais_grupo_3 + description: Adequação da Formação Docente - Ensino Fundamental Anos Iniciais + Grupo 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_anos_iniciais_grupo_4 + description: Adequação da Formação Docente - Ensino Fundamental Anos Iniciais + Grupo 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_anos_iniciais_grupo_5 + description: Adequação da Formação Docente - Ensino Fundamental Anos Iniciais + Grupo 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_anos_finais_grupo_1 + description: Adequação da Formação Docente - Ensino Fundamental Anos Finais + Grupo 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_anos_finais_grupo_2 + description: Adequação da Formação Docente - Ensino Fundamental Anos Finais + Grupo 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_anos_finais_grupo_3 + description: Adequação da Formação Docente - Ensino Fundamental Anos Finais + Grupo 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_anos_finais_grupo_4 + description: Adequação da Formação Docente - Ensino Fundamental Anos Finais + Grupo 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_ef_anos_finais_grupo_5 + description: Adequação da Formação Docente - Ensino Fundamental Anos Finais + Grupo 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_em_grupo_1 + description: Adequação da Formação Docente - Ensino Médio Grupo 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_em_grupo_2 + description: Adequação da Formação Docente - Ensino Médio Grupo 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_em_grupo_3 + description: Adequação da Formação Docente - Ensino Médio Grupo 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_em_grupo_4 + description: Adequação da Formação Docente - Ensino Médio Grupo 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_em_grupo_5 + description: Adequação da Formação Docente - Ensino Médio Grupo 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_eja_fundamental_grupo_1 + description: Adequação da Formação Docente - Educação Jovens Adultos - Ensino + Fundamental Grupo 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_eja_fundamental_grupo_2 + description: Adequação da Formação Docente - Educação Jovens Adultos - Ensino + Fundamental Grupo 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_eja_fundamental_grupo_3 + description: Adequação da Formação Docente - Educação Jovens Adultos - Ensino + Fundamental Grupo 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_eja_fundamental_grupo_4 + description: Adequação da Formação Docente - Educação Jovens Adultos - Ensino + Fundamental Grupo 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_eja_fundamental_grupo_5 + description: Adequação da Formação Docente - Educação Jovens Adultos - Ensino + Fundamental Grupo 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_eja_medio_grupo_1 + description: Adequação da Formação Docente - Educação Jovens Adultos - Ensino + Médio Grupo 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_eja_medio_grupo_2 + description: Adequação da Formação Docente - Educação Jovens Adultos - Ensino + Médio Grupo 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_eja_medio_grupo_3 + description: Adequação da Formação Docente - Educação Jovens Adultos - Ensino + Médio Grupo 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_eja_medio_grupo_4 + description: Adequação da Formação Docente - Educação Jovens Adultos - Ensino + Médio Grupo 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: afd_eja_medio_grupo_5 + description: Adequação da Formação Docente - Educação Jovens Adultos - Ensino + Médio Grupo 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ird_baixa_regularidade + description: Regularidade do Corpo Docente - Baixa Regularidade + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ird_media_baixa + description: Regularidade do Corpo Docente - Média a Baixa Regularidade + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ird_media_alta + description: Regularidade do Corpo Docente - Média a Alta Regularidade + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ird_alta + description: Regularidade do Corpo Docente - Alta Regularidade + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_nivel_1 + description: Esforço Docente - Ensino Fundamental Nível 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_nivel_2 + description: Esforço Docente - Ensino Fundamental Nível 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_nivel_3 + description: Esforço Docente - Ensino Fundamental Nível 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_nivel_4 + description: Esforço Docente - Ensino Fundamental Nível 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_nivel_5 + description: Esforço Docente - Ensino Fundamental Nível 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_nivel_6 + description: Esforço Docente - Ensino Fundamental Nível 6 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_iniciais_nivel_1 + description: Esforço Docente - Ensino Fundamental Anos Iniciais Nível 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_iniciais_nivel_2 + description: Esforço Docente - Ensino Fundamental Anos Iniciais Nível 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_iniciais_nivel_3 + description: Esforço Docente - Ensino Fundamental Anos Iniciais Nível 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_iniciais_nivel_4 + description: Esforço Docente - Ensino Fundamental Anos Iniciais Nível 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_iniciais_nivel_5 + description: Esforço Docente - Ensino Fundamental Anos Iniciais Nível 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_iniciais_nivel_6 + description: Esforço Docente - Ensino Fundamental Anos Iniciais Nível 6 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_finais_nivel_1 + description: Esforço Docente - Ensino Fundamental Anos Finais Nível 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_finais_nivel_2 + description: Esforço Docente - Ensino Fundamental Anos Finais Nível 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_finais_nivel_3 + description: Esforço Docente - Ensino Fundamental Anos Finais Nível 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_finais_nivel_4 + description: Esforço Docente - Ensino Fundamental Anos Finais Nível 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_finais_nivel_5 + description: Esforço Docente - Ensino Fundamental Anos Finais Nível 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_ef_anos_finais_nivel_6 + description: Esforço Docente - Ensino Fundamental Anos Finais Nível 6 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_em_nivel_1 + description: Esforço Docente - Ensino Médio Nível 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_em_nivel_2 + description: Esforço Docente - Ensino Médio Nível 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_em_nivel_3 + description: Esforço Docente - Ensino Médio Nível 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_em_nivel_4 + description: Esforço Docente - Ensino Médio Nível 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_em_nivel_5 + description: Esforço Docente - Ensino Médio Nível 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: ied_em_nivel_6 + description: Esforço Docente - Ensino Médio Nível 6 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: icg_nivel_1 + description: Complexidade de Gestão da Escola Nível 1 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: icg_nivel_2 + description: Complexidade de Gestão da Escola Nível 2 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: icg_nivel_3 + description: Complexidade de Gestão da Escola Nível 3 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: icg_nivel_4 + description: Complexidade de Gestão da Escola Nível 4 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: icg_nivel_5 + description: Complexidade de Gestão da Escola Nível 5 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: icg_nivel_6 + description: Complexidade de Gestão da Escola Nível 6 + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05