-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #599 from basedosdados/br_cgu_emenda_parlamentar
[dados] br_cgu_emenda_parlamentar
- Loading branch information
Showing
3 changed files
with
224 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
147 changes: 147 additions & 0 deletions
147
models/br_cgu_emenda_parlamentar/br_cgu_emenda_parlamentar__microdados.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
{{ | ||
config( | ||
alias="microdados", schema="br_cgu_emenda_parlamentar", materialized="table" | ||
) | ||
}} | ||
|
||
with | ||
tabela_inicial as ( | ||
select | ||
safe_cast(`Ano da Emenda` as int64) ano_emenda, | ||
safe_cast( | ||
replace(`Código da Emenda`, "Sem informaç", "Sem informação") as string | ||
) codigo_emenda, | ||
safe_cast(`Número da emenda` as string) numero_emenda, | ||
safe_cast(`Tipo de Emenda` as string) tipo_emenda, | ||
safe_cast(`Código do Autor da Emenda` as string) codigo_autor_emenda, | ||
safe_cast(`Nome do Autor da Emenda` as string) nome_autor_emenda, | ||
case | ||
when `Localidade do gasto` = 'PRESIDENTE JUSCELINO - RN' | ||
then "SERRA CAIADA - RN" -- - https://www.serracaiada.rn.gov.br/omunicipio.php | ||
else `Localidade do gasto` | ||
end as localidade_gasto, | ||
safe_cast(`Código Função` as string) codigo_funcao, | ||
safe_cast(`Nome Função` as string) nome_funcao, | ||
safe_cast(`Código Subfunção` as string) codigo_subfuncao, | ||
safe_cast(`Nome Subfunção` as string) nome_subfuncao, | ||
safe_cast(`Valor Empenhado` as float64) valor_empenhado, | ||
safe_cast(`Valor Liquidado` as float64) valor_liquidado, | ||
safe_cast(`Valor Pago` as float64) valor_pago, | ||
safe_cast( | ||
`Valor Restos A Pagar Inscritos` as float64 | ||
) valor_resto_pagar_inscrito, | ||
safe_cast( | ||
`Valor Restos A Pagar Cancelados` as float64 | ||
) valor_resto_pagar_cancelado, | ||
safe_cast(`Valor Restos A Pagar Pagos` as float64) valor_resto_pagar_pagos, | ||
from `basedosdados-dev.br_cgu_emenda_parlamentar_staging.microdados` | ||
), | ||
tabela_1 as ( | ||
select | ||
ano_emenda, | ||
codigo_emenda, | ||
numero_emenda, | ||
tipo_emenda, | ||
codigo_autor_emenda, | ||
nome_autor_emenda, | ||
localidade_gasto, | ||
if | ||
( | ||
regexp_contains(localidade_gasto, r'\(UF\)$'), | ||
null, | ||
trim(split(localidade_gasto, " - ")[safe_offset(0)]) | ||
) as localidade_municipio, | ||
trim( | ||
split(localidade_gasto, " - ")[safe_offset(1)] | ||
) localidade_estado_sigla, | ||
if | ||
( | ||
regexp_contains(localidade_gasto, r'\(UF\)$'), | ||
trim(split(localidade_gasto, " (UF)")[safe_offset(0)]), | ||
null | ||
) as localidade_estado, | ||
codigo_funcao, | ||
nome_funcao, | ||
codigo_subfuncao, | ||
nome_subfuncao, | ||
valor_empenhado, | ||
valor_liquidado, | ||
valor_pago, | ||
valor_resto_pagar_inscrito, | ||
valor_resto_pagar_cancelado, | ||
valor_resto_pagar_pagos, | ||
from tabela_inicial | ||
), | ||
tabela_2 as ( | ||
select *, sigla_uf.sigla as sigla_uf, | ||
from tabela_1 | ||
left join | ||
`basedosdados-dev.br_bd_diretorios_brasil.uf` as sigla_uf | ||
on localidade_estado = upper(sigla_uf.nome) | ||
), | ||
tabela_3 as ( | ||
select | ||
ano_emenda, | ||
codigo_emenda, | ||
numero_emenda, | ||
tipo_emenda, | ||
codigo_autor_emenda, | ||
nome_autor_emenda, | ||
localidade_gasto, | ||
case | ||
when localidade_municipio = 'TRAJANO DE MORAIS' | ||
then "TRAJANO DE MORAES" | ||
when localidade_municipio = "SANTANA DO LIVRAMENTO" | ||
then upper("Sant'Ana do Livramento") | ||
when localidade_municipio = "EMBU" | ||
then "EMBU DAS ARTES" | ||
when localidade_municipio = "ELDORADO DOS CARAJÁS" | ||
then "ELDORADO DO CARAJÁS" | ||
when localidade_municipio = "AUGUSTO SEVERO" | ||
then "CAMPO GRANDE" | ||
-- - | ||
-- https://g1.globo.com/rn/rio-grande-do-norte/noticia/campo-grande-ou-augusto-severo-populacao-pode-decidir-nas-eleicoes-qual-o-nome-da-cidade.ghtml | ||
else upper(localidade_municipio) | ||
end as localidade_municipio, | ||
coalesce(localidade_estado_sigla, sigla_uf) as localidade_sigla_uf, | ||
codigo_funcao, | ||
nome_funcao, | ||
codigo_subfuncao, | ||
nome_subfuncao, | ||
valor_empenhado, | ||
valor_liquidado, | ||
valor_pago, | ||
valor_resto_pagar_inscrito, | ||
valor_resto_pagar_cancelado, | ||
valor_resto_pagar_pagos | ||
from tabela_2 | ||
), | ||
tabela_4 as ( | ||
select | ||
ano_emenda, | ||
codigo_emenda, | ||
numero_emenda, | ||
tipo_emenda, | ||
codigo_autor_emenda, | ||
nome_autor_emenda, | ||
localidade_gasto, | ||
id_municipio.id_municipio as id_municipio_gasto, | ||
localidade_sigla_uf as sigla_uf_gasto, | ||
codigo_funcao, | ||
nome_funcao, | ||
codigo_subfuncao, | ||
nome_subfuncao, | ||
valor_empenhado, | ||
valor_liquidado, | ||
valor_pago, | ||
valor_resto_pagar_inscrito, | ||
valor_resto_pagar_cancelado, | ||
valor_resto_pagar_pagos | ||
from tabela_3 | ||
left join | ||
`basedosdados.br_bd_diretorios_brasil.municipio` as id_municipio | ||
on localidade_municipio = upper(id_municipio.nome) | ||
and localidade_sigla_uf = id_municipio.sigla_uf | ||
) | ||
select * | ||
from tabela_4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
--- | ||
version: 2 | ||
models: | ||
- name: br_cgu_emenda_parlamentar__microdados | ||
description: Dados referente a emendas parlamentares | ||
tests: | ||
- dbt_utils.unique_combination_of_columns: | ||
combination_of_columns: | ||
- ano_emenda | ||
- codigo_emenda | ||
- tipo_emenda | ||
- localidade_gasto | ||
- nome_funcao | ||
- nome_subfuncao | ||
- not_null_proportion_multiple_columns: | ||
at_least: 0.25 | ||
columns: | ||
- name: ano_emenda | ||
description: Ano em que emenda foi proposta | ||
tests: | ||
- relationships: | ||
to: ref('br_bd_diretorios_data_tempo__ano') | ||
field: ano.ano | ||
- name: codigo_emenda | ||
description: Identificador da emenda parlamentar | ||
- name: numero_emenda | ||
description: Número da emenda parlamentar | ||
- name: tipo_emenda | ||
description: Tipo da emenda parlamentar | ||
- name: codigo_autor_emenda | ||
description: Código do autor da emenda parlamentar | ||
- name: nome_autor_emenda | ||
description: Nome do autor da emenda parlamentar | ||
- name: localidade_gasto | ||
description: Localidade de destinação do recurso. Este campo poderá estar | ||
em branco, a depender da localidade de aplicação. | ||
- name: sigla_uf_gasto | ||
description: Sigla da Unidade da Federação de destinação do recurso. Este | ||
campo poderá estar em branco, a depender da localidade de aplicação. | ||
tests: | ||
- relationships: | ||
to: ref('br_bd_diretorios_brasil__uf') | ||
field: sigla | ||
- name: id_municipio_gasto | ||
description: Código IBGE do município de destinação do recurso. Este campo | ||
poderá estar em branco, a depender da localidade de aplicação. | ||
tests: | ||
- relationships: | ||
to: ref('br_bd_diretorios_brasil__municipio') | ||
field: id_municipio | ||
- name: codigo_funcao | ||
description: Código da Função em que foi classificada a despesa associada | ||
à emenda parlamentar. | ||
- name: nome_funcao | ||
description: Nome da Função em que foi classificada a despesa associada à | ||
emenda parlamentar. | ||
- name: codigo_subfuncao | ||
description: Código da Subfunção em que foi classificada a despesa associada | ||
à emenda parlamentar. | ||
- name: nome_subfuncao | ||
description: Nome da subfunção em que foi classificada a despesa associada | ||
à emenda parlamentar. | ||
- name: valor_empenhado | ||
description: Valor empenhado para a emenda, no ano | ||
- name: valor_liquidado | ||
description: Valor liquidado para a emenda, no ano | ||
- name: valor_pago | ||
description: Valor pago para a emenda, no ano | ||
- name: valor_resto_pagar_inscrito | ||
description: Valor inscrito em restos a pagar para a emenda, no ano | ||
- name: valor_resto_pagar_cancelado | ||
description: Valor cancelado das inscrições em restos a pagar, no ano | ||
- name: valor_resto_pagar_pagos | ||
description: Valor pago das inscrições em restos a pagar, no ano. |