diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__orgao.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__orgao.sql new file mode 100644 index 00000000..e2667931 --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__orgao.sql @@ -0,0 +1,15 @@ +{{ config(alias='orgao',schema='br_camara_dados_abertos') }} +SELECT +SAFE_CAST(nome AS STRING) nome, +SAFE_CAST(apelido AS STRING) apelido, +SAFE_CAST(sigla AS STRING) sigla, +SAFE_CAST(uri AS STRING) url_orgao, +SAFE_CAST(tipoOrgao AS STRING) tipo_orgao, +SAFE_CAST(SPLIT(FORMAT_TIMESTAMP('%Y-%m-%dT%H:%M:%E*S', TIMESTAMP(dataInicio)), 'T')[OFFSET(0)] AS DATE) data_inicio, +SAFE_CAST(SPLIT(FORMAT_TIMESTAMP('%Y-%m-%dT%H:%M:%E*S', TIMESTAMP(dataInstalacao)), 'T')[OFFSET(0)] AS DATE) data_instalacao, +SAFE_CAST(SPLIT(FORMAT_TIMESTAMP('%Y-%m-%dT%H:%M:%E*S', TIMESTAMP(dataFim)), 'T')[OFFSET(0)] AS DATE) data_final, +SAFE_CAST(descricaoSituacao AS STRING) situacao, +SAFE_CAST(casa AS STRING) casa, +SAFE_CAST(sala AS STRING) sala, +FROM basedosdados-staging.br_camara_dados_abertos_staging.orgao AS t + diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__orgao_deputado.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__orgao_deputado.sql new file mode 100644 index 00000000..136e1e69 --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__orgao_deputado.sql @@ -0,0 +1,14 @@ +{{ config(alias='orgao_deputado',schema='br_camara_dados_abertos') }} +SELECT DISTINCT +SAFE_CAST(nomeOrgao AS STRING) nome, +SAFE_CAST(siglaOrgao AS STRING) sigla, +SAFE_CAST(uriOrgao AS STRING) url, +SAFE_CAST(nomeDeputado AS STRING) nome_deputado, +SAFE_CAST(cargo AS STRING) cargo, +SAFE_CAST(siglaUF AS STRING) sigla_uf, +SAFE_CAST(dataInicio AS DATE) data_inicio, +SAFE_CAST(dataFim AS DATE) data_final, +SAFE_CAST(siglaPartido AS STRING) sigla_partido, +SAFE_CAST(uriDeputado AS STRING) url_deputado +FROM basedosdados-staging.br_camara_dados_abertos_staging.orgao_deputado AS t + diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__voto_parlamentar.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_parlamentar.sql similarity index 92% rename from models/br_camara_dados_abertos/br_camara_dados_abertos__voto_parlamentar.sql rename to models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_parlamentar.sql index c294818c..b8883259 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__voto_parlamentar.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_parlamentar.sql @@ -1,6 +1,6 @@ {{ config( - alias = 'voto_parlamentar', + alias = 'votacao_parlamentar', schema='br_camara_dados_abertos', materialized='table', partition_by={ @@ -32,4 +32,4 @@ SELECT SAFE_CAST(sigla_partido AS STRING) sigla_partido, SAFE_CAST(sigla_uf AS STRING) sigla_uf, SAFE_CAST(id_legislatura AS STRING) id_legislatura -FROM basedosdados-staging.br_camara_dados_abertos_staging.voto_parlamentar AS t \ No newline at end of file +FROM basedosdados-staging.br_camara_dados_abertos_staging.votacao_parlamentar AS t \ No newline at end of file diff --git a/models/br_camara_dados_abertos/schema.yml b/models/br_camara_dados_abertos/schema.yml index a728283c..e9383684 100644 --- a/models/br_camara_dados_abertos/schema.yml +++ b/models/br_camara_dados_abertos/schema.yml @@ -92,7 +92,7 @@ models: - name: titulo description: Título da proposição - - name: br_camara_dados_abertos__voto_parlamentar + - name: br_camara_dados_abertos__votacao_parlamentar description: Separados por ano de ocorrência das votações, estes arquivos têm, em cada linha/registro, identificadores de uma votação, os identificadores básicos de cada Deputado, o voto (ou posicionamento de obstrução) registrado pelo parlamentar e o horário de registro do voto. tests: - dbt_utils.unique_combination_of_columns: @@ -109,30 +109,55 @@ models: field: ano.ano - name: id_votacao description: ID da votação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: data description: Data tests: - relationships: to: ref('br_bd_diretorios_data_tempo__data') field: data.data + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: horario description: Horário + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: voto description: Voto + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: id_deputado description: ID do deputado + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: nome description: Nome do deputado + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: sigla_partido description: Sigla do partido + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: sigla_uf description: Sigla da Unidade da Federação tests: - relationships: to: ref('br_bd_diretorios_brasil__uf') field: sigla_uf + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: id_legislatura description: ID da legislatura + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: br_camara_dados_abertos__votacao_orientacao_bancada description: Para votações de qualquer tipo, os Partidos e Blocos, bem como as lideranças de Governo, Minoria, Maioria e Oposição, podem recomendar a seus Deputados que votem de um jeito ou de outro, ou podem "liberar a bancada". @@ -732,4 +757,147 @@ models: at_least: 0.05 - relationships: to: ref('br_bd_diretorios_brasil__uf') - field: sigla \ No newline at end of file + field: sigla + + - name: br_camara_dados_abertos__orgao + description: Lista com identificadores e dados sobre Plenário, Mesa Diretora, comissões permanentes e temporárias, CPIs, conselhos e demais órgãos da Câmara existentes ou já extintos na Câmara dos Deputados. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - url_orgao + columns: + - name: nome + description: Nome do orgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: apelido + description: Apelido do orgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: sigla + description: Sigla do orgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: url_orgao + description: URL do orgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: tipo_orgao + description: Tipo do orgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: data_inicio + description: Data Inicio + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_instalacao + description: Data de instalação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_final + description: Data final + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: situacao + description: Situação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: casa + description: Casa + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: sala + description: Sala + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + + - name: br_camara_dados_abertos__orgao_deputado + description: Arquivos com identificadores básicos de órgãos da Câmara e dos deputados que foram seus integrantes, com os cargos que cada um ocupou (inclusive de suplência) e as datas de início e fim do período de exercício de cada cargo. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - nome + - nome_deputado + - cargo + - data_inicio + - data_final + columns: + - name: nome + description: Nome do orgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: sigla + description: Sigla do orgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: url + description: URL do orgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: nome_deputado + description: Nome do deputado + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: cargo + description: Cargo + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: data_inicio + description: Data inicio + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_final + description: Data final + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: sigla_partido + description: Sigla do partido + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: url_deputado + description: URL do deputado + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 \ No newline at end of file