From d8eeca5548281cf9307a34e7d597dfe7d81d3d8c Mon Sep 17 00:00:00 2001 From: tricktx Date: Wed, 18 Dec 2024 15:37:10 -0300 Subject: [PATCH] model dbt cgu receitas orcamento --- dbt_project.yml | 6 ++ .../br_cgu_orcamento_publico__orcamento.sql | 35 ++++++++++ models/br_cgu_orcamento_publico/schema.yml | 65 +++++++++++++++++++ .../br_cgu_receitas_publicas__receitas.sql | 25 +++++++ models/br_cgu_receitas_publicas/schema.yml | 49 ++++++++++++++ 5 files changed, 180 insertions(+) create mode 100644 models/br_cgu_orcamento_publico/br_cgu_orcamento_publico__orcamento.sql create mode 100644 models/br_cgu_orcamento_publico/schema.yml create mode 100644 models/br_cgu_receitas_publicas/br_cgu_receitas_publicas__receitas.sql create mode 100644 models/br_cgu_receitas_publicas/schema.yml diff --git a/dbt_project.yml b/dbt_project.yml index e62df9bf..1f7cebc4 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -114,9 +114,15 @@ models: br_cgu_licitacao_contrato: +materialized: table +schema: br_cgu_licitacao_contrato + br_cgu_orcamento_publico: + +materialized: table + +schema: br_cgu_orcamento_publico br_cgu_pessoal_executivo_federal: +materialized: table +schema: br_cgu_pessoal_executivo_federal + br_cgu_receitas_publicas: + +materialized: table + +schema: br_cgu_receitas_publicas br_cgu_servidores_executivo_federal: +materialized: table +schema: br_cgu_servidores_executivo_federal diff --git a/models/br_cgu_orcamento_publico/br_cgu_orcamento_publico__orcamento.sql b/models/br_cgu_orcamento_publico/br_cgu_orcamento_publico__orcamento.sql new file mode 100644 index 00000000..0de28085 --- /dev/null +++ b/models/br_cgu_orcamento_publico/br_cgu_orcamento_publico__orcamento.sql @@ -0,0 +1,35 @@ +{{ + config( + alias="orcamento", schema="br_cgu_orcamento_publico", materialized="table" + ) +}} +select + safe_cast(ano_exercicio as int64) ano_exercicio, + safe_cast(codigo_orgao_superior as string) id_orgao_superior, + safe_cast(nome_orgao_superior as string) nome_orgao_superior, + safe_cast(codigo_orgao_subordinado as string) id_orgao_subordinado, + safe_cast(nome_orgao_subordinado as string) nome_orgao_subordinado, + safe_cast(codigo_unidade_orcamentaria as string) id_unidade_orcamentaria, + safe_cast(nome_unidade_orcamentaria as string) nome_unidade_orcamentaria, + safe_cast(codigo_funcao as string) id_funcao, + safe_cast(nome_funcao as string) nome_funcao, + safe_cast(codigo_subfuncao as string) id_subfuncao, + safe_cast(nome_subfuncao as string) nome_subfuncao, + safe_cast(codigo_programa_orcamentario as string) id_programa_orcamentario, + safe_cast(nome_programa_orcamentario as string) nome_programa_orcamentario, + safe_cast(codigo_acao as string) id_acao, + safe_cast(nome_acao as string) nome_acao, + safe_cast(codigo_categoria_economica as string) id_categoria_economica, + safe_cast(nome_categoria_economica as string) nome_categoria_economica, + safe_cast(codigo_grupo_de_despesa as string) id_grupo_despesa, + safe_cast(nome_grupo_de_despesa as string) nome_grupo_despesa, + safe_cast(codigo_elemento_de_despesa as string) id_elemento_despesa, + safe_cast(nome_elemento_de_despesa as string) nome_elemento_despesa, + safe_cast(orcamento_inicial as float64) orcamento_inicial, + safe_cast(orcamento_atualizado as float64) orcamento_atualizado, + safe_cast(orcamento_empenhado as float64) orcamento_empenhado, + safe_cast(orcamento_realizado as float64) orcamento_realizado, + safe_cast( + porcentagem_realizado_orcamento as float64 + ) porcentagem_realizado_orcamento, +from `basedosdados-dev.br_cgu_orcamento_publico_staging.orcamento` diff --git a/models/br_cgu_orcamento_publico/schema.yml b/models/br_cgu_orcamento_publico/schema.yml new file mode 100644 index 00000000..1ed13bcd --- /dev/null +++ b/models/br_cgu_orcamento_publico/schema.yml @@ -0,0 +1,65 @@ +--- +version: 2 +models: + - name: br_cgu_orcamento_publico__orcamento + description: Orçamento Públic do Governo Federal + tests: + - not_null_proportion_multiple_columns: + at_least: 0.95 + columns: + - name: ano_exercicio + description: Ano do exercício a que se referem os valores + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: id_orgao_superior + description: Código do Órgão Superior responsável pela despesa. + - name: nome_orgao_superior + description: Nome do Órgão Superior responsável pela despesa. + - name: id_orgao_subordinado + description: Código do Órgão Subordinado responsável pela despesa. + - name: nome_orgao_subordinado + description: Nome do Órgão Subordinado responsável pela despesa. + - name: id_unidade_orcamentaria + description: Código da Unidade Orçamentária responsável pela despesa. + - name: nome_unidade_orcamentaria + description: Nome da Unidade Orçamentária responsável pela despesa. + - name: id_funcao + description: Código da Função em que foi classificada a despesa. + - name: nome_funcao + description: Nome da Função em que foi classificada a despesa. + - name: id_subfuncao + description: Código da Subfunção em que foi classificada a despesa. + - name: nome_subfuncao + description: Nome da Subfunção em que foi classificada a despesa. + - name: id_programa_orcamentario + description: Código do Programa em que foi classificada a despesa. + - name: nome_programa_orcamentario + description: Nome do Programa em que foi classificada a despesa. + - name: id_acao + description: Código da ação orçamentária em que foi classificada a despesa. + - name: nome_acao + description: Nome da ação orçamentária em que foi classificada a despesa. + - name: id_categoria_economica + description: Código da categoria econômica + - name: nome_categoria_economica + description: Nome da categoria econômica + - name: id_grupo_despesa + description: Código do grupo de despesa + - name: nome_grupo_despesa + description: Nome do grupo de despesa + - name: id_elemento_despesa + description: Código do elemento da despesa + - name: nome_elemento_despesa + description: Nome do elemento da despesa + - name: orcamento_inicial + description: Valor do orçamento inicial + - name: orcamento_atualizado + description: Valor do orçamento atualizado + - name: orcamento_empenhado + description: Valor do orçamento empenhado + - name: orcamento_realizado + description: Valor do orçamento realizado + - name: porcentagem_realizado_orcamento + description: Pordentagm Realizado do orçamento diff --git a/models/br_cgu_receitas_publicas/br_cgu_receitas_publicas__receitas.sql b/models/br_cgu_receitas_publicas/br_cgu_receitas_publicas__receitas.sql new file mode 100644 index 00000000..78e01d6c --- /dev/null +++ b/models/br_cgu_receitas_publicas/br_cgu_receitas_publicas__receitas.sql @@ -0,0 +1,25 @@ +{{ + config( + alias="receitas", + schema="br_cgu_receitas_publicas", + materialized="table", + ) +}} +select + safe_cast(ano_exercicio as int64) ano_exercicio, + safe_cast(parse_date("%d/%m/%Y", data_lancamento) as date) data_lancamento, + safe_cast(codigo_orgao_superior as string) id_orgao_superior, + safe_cast(nome_orgao_superior as string) nome_orgao_superior, + safe_cast(codigo_orgao as string) id_orgao, + safe_cast(nome_orgao as string) nome_orgao, + safe_cast(codigo_unidade_gestora as string) codigo_unidade_gestora, + safe_cast(nome_unidade_gestora as string) nome_unidade_gestora, + safe_cast(categoria_economica as string) categoria_economica, + safe_cast(origem_receita as string) origem, + safe_cast(especie_receita as string) especie, + safe_cast(detalhamento as string) detalhamento, + safe_cast(valor_previsto_atualizado as float64) valor_previsto, + safe_cast(valor_lancado as float64) valor_lancado, + safe_cast(valor_realizado as float64) valor_realizado, + safe_cast(percentual_realizado as float64) percentual_realizado, +from `basedosdados-dev.br_cgu_receitas_publicas_staging.receitas` as t diff --git a/models/br_cgu_receitas_publicas/schema.yml b/models/br_cgu_receitas_publicas/schema.yml new file mode 100644 index 00000000..9c480778 --- /dev/null +++ b/models/br_cgu_receitas_publicas/schema.yml @@ -0,0 +1,49 @@ +--- +version: 2 +models: + - name: br_cgu_receitas_publicas__receitas + description: Insert table description here + tests: + - not_null_proportion_multiple_columns: + at_least: 0.95 + columns: + - name: ano_exercicio + description: Ano do Exercício + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: data_lancamento + description: Data de Lançamento + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: id_orgao_superior + description: Código Órgão Superior + - name: nome_orgao_superior + description: Nome do Órgão Superior responsável pela receita. + - name: id_orgao + description: Código do Órgão Subordinado responsável pela receita. + - name: nome_orgao + description: Nome do Órgão Subordinado responsável pela receita. + - name: codigo_unidade_gestora + description: Código da Unidade Gestora responsável pela receita. + - name: nome_unidade_gestora + description: Nome da Unidade Gestora responsável pela receita. + - name: categoria_economica + description: Categoria Econômica + - name: origem + description: Detalhamento das categorias + - name: especie + description: Nível de classificação vinculado à origem + - name: detalhamento + description: Detalhamento de outros níveis da receita + - name: valor_previsto + description: Orçamento inicial da receita atualizado por mudanças na previsão + - name: valor_lancado + description: Valor da receita lançada + - name: valor_realizado + description: Valor resultado da fase de arrecadação/recolhimento da receita. + - name: percentual_realizado + description: Percentual realizado