diff --git a/.github/workflows/elementary.yaml b/.github/workflows/elementary.yaml index 4837de7c..befb2261 100644 --- a/.github/workflows/elementary.yaml +++ b/.github/workflows/elementary.yaml @@ -18,8 +18,9 @@ jobs: warehouse-type: bigquery adapter-version: 1.5.9 profiles-yml: ${{ secrets.ELEMENTARY_PROFILES_YML }} - edr-command: edr report --file-path "report.html" --days-back 90 && edr send-report --google-service-account-path - "/tmp/gcs_keyfile.json" --gcs-bucket-name "basedosdados" --update-bucket-website "true" --days-back 90 + edr-command: edr report --file-path "report.html" --days-back 90 && edr + send-report --google-service-account-path "/tmp/gcs_keyfile.json" --gcs-bucket-name + "basedosdados" --update-bucket-website "true" --days-back 90 bigquery-keyfile: ${{ secrets.BIGQUERY_KEYFILE }} gcs-keyfile: ${{ secrets.GCS_KEYFILE }} - name: Upload report diff --git a/.github/workflows/triggers-elementary-model.yaml b/.github/workflows/triggers-elementary-model.yaml index 2bf96a16..1bc8ee0f 100644 --- a/.github/workflows/triggers-elementary-model.yaml +++ b/.github/workflows/triggers-elementary-model.yaml @@ -4,7 +4,6 @@ on: schedule: - cron: 00 23 * * 1 workflow_dispatch: - jobs: run_elementary_models: name: Run elementary model diff --git a/dbt_project.yml b/dbt_project.yml index b2fc984a..e71522aa 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -255,6 +255,9 @@ models: br_me_sic: +materialized: table +schema: br_me_sic + br_me_siconfi: + +materialized: table + +schema: br_me_siconfi br_mec_prouni: +materialized: table +schema: br_mec_prouni diff --git a/models/br_me_siconfi/br_me_siconfi__municipio_balanco_patrimonial.sql b/models/br_me_siconfi/br_me_siconfi__municipio_balanco_patrimonial.sql new file mode 100644 index 00000000..b449d59a --- /dev/null +++ b/models/br_me_siconfi/br_me_siconfi__municipio_balanco_patrimonial.sql @@ -0,0 +1,24 @@ +{{ + config( + schema="br_me_siconfi", + alias="municipio_balanco_patrimonial", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 1998, "end": 2024, "interval": 1}, + }, + ) +}} + + +select + safe_cast(ano as int64) ano, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(id_municipio as string) id_municipio, + safe_cast(portaria as string) portaria, + safe_cast(conta as string) conta, + safe_cast(id_conta_bd as string) id_conta_bd, + safe_cast(conta_bd as string) conta_bd, + safe_cast(valor as float64) valor +from `basedosdados-staging.br_me_siconfi_staging.municipio_balanco_patrimonial` as t diff --git a/models/br_me_siconfi/br_me_siconfi__municipio_despesas_funcao.sql b/models/br_me_siconfi/br_me_siconfi__municipio_despesas_funcao.sql new file mode 100644 index 00000000..e8baa2bd --- /dev/null +++ b/models/br_me_siconfi/br_me_siconfi__municipio_despesas_funcao.sql @@ -0,0 +1,25 @@ +{{ + config( + schema="br_me_siconfi", + alias="municipio_despesas_funcao", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 2004, "end": 2024, "interval": 1}, + }, + ) +}} + +select + safe_cast(ano as int64) ano, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(id_municipio as string) id_municipio, + safe_cast(estagio as string) estagio, + safe_cast(portaria as string) portaria, + safe_cast(conta as string) conta, + safe_cast(estagio_bd as string) estagio_bd, + safe_cast(id_conta_bd as string) id_conta_bd, + safe_cast(conta_bd as string) conta_bd, + safe_cast(valor as float64) valor +from `basedosdados-staging.br_me_siconfi_staging.municipio_despesas_funcao` as t diff --git a/models/br_me_siconfi/br_me_siconfi__municipio_despesas_orcamentarias.sql b/models/br_me_siconfi/br_me_siconfi__municipio_despesas_orcamentarias.sql new file mode 100644 index 00000000..83ab5699 --- /dev/null +++ b/models/br_me_siconfi/br_me_siconfi__municipio_despesas_orcamentarias.sql @@ -0,0 +1,25 @@ +{{ + config( + schema="br_me_siconfi", + alias="municipio_despesas_orcamentarias", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 1989, "end": 2024, "interval": 1}, + }, + ) +}} + +select + safe_cast(ano as int64) ano, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(id_municipio as string) id_municipio, + safe_cast(estagio as string) estagio, + safe_cast(portaria as string) portaria, + safe_cast(conta as string) conta, + safe_cast(estagio_bd as string) estagio_bd, + safe_cast(id_conta_bd as string) id_conta_bd, + safe_cast(conta_bd as string) conta_bd, + safe_cast(valor as float64) valor +from `basedosdados-staging.br_me_siconfi_staging.municipio_despesas_orcamentarias` as t diff --git a/models/br_me_siconfi/br_me_siconfi__municipio_receitas_orcamentarias.sql b/models/br_me_siconfi/br_me_siconfi__municipio_receitas_orcamentarias.sql new file mode 100644 index 00000000..64f0f8d8 --- /dev/null +++ b/models/br_me_siconfi/br_me_siconfi__municipio_receitas_orcamentarias.sql @@ -0,0 +1,25 @@ +{{ + config( + schema="br_me_siconfi", + alias="municipio_receitas_orcamentarias", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 1989, "end": 2024, "interval": 1}, + }, + ) +}} + +select + safe_cast(ano as int64) ano, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(id_municipio as string) id_municipio, + safe_cast(estagio as string) estagio, + safe_cast(portaria as string) portaria, + safe_cast(conta as string) conta, + safe_cast(estagio_bd as string) estagio_bd, + safe_cast(id_conta_bd as string) id_conta_bd, + safe_cast(conta_bd as string) conta_bd, + safe_cast(valor as float64) valor +from `basedosdados-staging.br_me_siconfi_staging.municipio_receitas_orcamentarias` as t diff --git a/models/br_me_siconfi/br_me_siconfi__uf_despesas_funcao.sql b/models/br_me_siconfi/br_me_siconfi__uf_despesas_funcao.sql new file mode 100644 index 00000000..cbf34bcd --- /dev/null +++ b/models/br_me_siconfi/br_me_siconfi__uf_despesas_funcao.sql @@ -0,0 +1,25 @@ +{{ + config( + schema="br_me_siconfi", + alias="uf_despesas_funcao", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 2013, "end": 2024, "interval": 1}, + }, + ) +}} + +select + safe_cast(ano as int64) ano, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(id_uf as string) id_uf, + safe_cast(estagio as string) estagio, + safe_cast(portaria as string) portaria, + safe_cast(conta as string) conta, + safe_cast(estagio_bd as string) estagio_bd, + safe_cast(id_conta_bd as string) id_conta_bd, + safe_cast(conta_bd as string) conta_bd, + safe_cast(valor as float64) valor +from `basedosdados-staging.br_me_siconfi_staging.uf_despesas_funcao` as t diff --git a/models/br_me_siconfi/br_me_siconfi__uf_despesas_orcamentarias.sql b/models/br_me_siconfi/br_me_siconfi__uf_despesas_orcamentarias.sql new file mode 100644 index 00000000..f6038e57 --- /dev/null +++ b/models/br_me_siconfi/br_me_siconfi__uf_despesas_orcamentarias.sql @@ -0,0 +1,25 @@ +{{ + config( + schema="br_me_siconfi", + alias="uf_despesas_orcamentarias", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 2013, "end": 2024, "interval": 1}, + }, + ) +}} + +select + safe_cast(ano as int64) ano, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(id_uf as string) id_uf, + safe_cast(estagio as string) estagio, + safe_cast(portaria as string) portaria, + safe_cast(conta as string) conta, + safe_cast(estagio_bd as string) estagio_bd, + safe_cast(id_conta_bd as string) id_conta_bd, + safe_cast(conta_bd as string) conta_bd, + safe_cast(valor as float64) valor +from `basedosdados-staging.br_me_siconfi_staging.uf_despesas_orcamentarias` as t diff --git a/models/br_me_siconfi/br_me_siconfi__uf_receitas_orcamentarias.sql b/models/br_me_siconfi/br_me_siconfi__uf_receitas_orcamentarias.sql new file mode 100644 index 00000000..e0adcb03 --- /dev/null +++ b/models/br_me_siconfi/br_me_siconfi__uf_receitas_orcamentarias.sql @@ -0,0 +1,25 @@ +{{ + config( + schema="br_me_siconfi", + alias="uf_receitas_orcamentarias", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 2013, "end": 2024, "interval": 1}, + }, + ) +}} + +select + safe_cast(ano as int64) ano, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(id_uf as string) id_uf, + safe_cast(estagio as string) estagio, + safe_cast(portaria as string) portaria, + safe_cast(conta as string) conta, + safe_cast(estagio_bd as string) estagio_bd, + safe_cast(id_conta_bd as string) id_conta_bd, + safe_cast(conta_bd as string) conta_bd, + safe_cast(valor as float64) valor +from `basedosdados-staging.br_me_siconfi_staging.uf_receitas_orcamentarias` as t diff --git a/models/br_me_siconfi/schema.yml b/models/br_me_siconfi/schema.yml new file mode 100644 index 00000000..04e116ec --- /dev/null +++ b/models/br_me_siconfi/schema.yml @@ -0,0 +1,244 @@ +--- +version: 2 +models: + - name: br_me_siconfi__municipio_balanco_patrimonial + description: Tabela do balanço patrimonial a nível de município. + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + test: [not_null] + - name: sigla_uf + description: Sigla da unidade da federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: portaria + description: Portaria + - name: conta + description: Conta + - name: id_conta_bd + description: ID Conta - Base dos Dados + - name: conta_bd + description: Conta - Base dos Dados + - name: valor + description: Valor + - name: br_me_siconfi__municipio_despesas_funcao + description: Tabela de despesas por função a nível de município. + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + test: [not_null] + - name: sigla_uf + description: Sigla da unidade da federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: estagio + description: Estágio + - name: portaria + description: Portaria + - name: conta + description: Conta + - name: estagio_bd + description: Estágio - Compatibilizado pela Base dos Dados + - name: id_conta_bd + description: ID Conta - Compatibilizado pela Base dos Dados + - name: conta_bd + description: Conta - Compatibilizado pela Base dos Dados + - name: valor + description: Valor + - name: br_me_siconfi__municipio_despesas_orcamentarias + description: Tabela de despesas orçamentárias a nível de município. + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + test: [not_null] + - name: sigla_uf + description: Sigla da unidade da federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: estagio + description: Estágio + - name: portaria + description: Portaria + - name: conta + description: Conta + - name: estagio_bd + description: Estágio - Compatibilizado pela Base dos Dados + - name: id_conta_bd + description: ID Conta - Compatibilizado pela Base dos Dados + - name: conta_bd + description: Conta - Compatibilizado pela Base dos Dados + - name: valor + description: Valor + - name: br_me_siconfi__municipio_receitas_orcamentarias + description: Tabela de receitas orçamentárias a nível de município. + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + test: [not_null] + - name: sigla_uf + description: Sigla da unidade da federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: estagio + description: Estágio + - name: portaria + description: Portaria + - name: conta + description: Conta + - name: estagio_bd + description: Estágio - Compatibilizado pela Base dos Dados + - name: id_conta_bd + description: ID Conta - Compatibilizado pela Base dos Dados + - name: conta_bd + description: Conta - Compatibilizado pela Base dos Dados + - name: valor + description: Valor + - name: br_me_siconfi__uf_despesas_funcao + description: Tabela de despesas por função a nível de UF. + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + test: [not_null] + - name: sigla_uf + description: Sigla da unidade da federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_uf + description: ID da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: id_uf + - name: estagio + description: Estágio + - name: portaria + description: Portaria + - name: conta + description: Conta + - name: estagio_bd + description: Estágio - Compatibilizado pela Base dos Dados + - name: id_conta_bd + description: ID Conta - Compatibilizado pela Base dos Dados + - name: conta_bd + description: Conta - Compatibilizado pela Base dos Dados + - name: valor + description: Valor + - name: br_me_siconfi__uf_despesas_orcamentarias + description: Tabela de despesas orçamentárias a nível de UF. + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + test: [not_null] + - name: sigla_uf + description: Sigla da unidade da federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_uf + description: ID da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: id_uf + - name: estagio + description: Estágio + - name: portaria + description: Portaria + - name: conta + description: Conta + - name: estagio_bd + description: Estágio - Compatibilizado pela Base dos Dados + - name: id_conta_bd + description: ID Conta - Compatibilizado pela Base dos Dados + - name: conta_bd + description: Conta - Compatibilizado pela Base dos Dados + - name: valor + description: Valor + - name: br_me_siconfi__uf_receitas_orcamentarias + description: Tabela de receitas orçamentárias a nível de UF. + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + test: [not_null] + - name: sigla_uf + description: Sigla da unidade da federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_uf + description: ID da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: id_uf + - name: estagio + description: Estágio + - name: portaria + description: Portaria + - name: conta + description: Conta + - name: estagio_bd + description: Estágio - Compatibilizado pela Base dos Dados + - name: id_conta_bd + description: ID Conta - Compatibilizado pela Base dos Dados + - name: conta_bd + description: Conta - Compatibilizado pela Base dos Dados + - name: valor + description: Valor