diff --git a/dbt_project.yml b/dbt_project.yml index 20734d1f..776e6f60 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -161,6 +161,9 @@ models: br_me_caged: +materialized: table +schema: br_me_caged + br_camara_dados_abertos: + +materialized: table + +schema: br_camara_dados_abertos br_me_cnpj: +materialized: table +schema: br_me_cnpj diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_microdados.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_microdados.sql new file mode 100644 index 00000000..55a4743f --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_microdados.sql @@ -0,0 +1,35 @@ +{{ + config( + alias = 'votacao_microdados', + schema='br_camara_dados_abertos', + materialized='table', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 1935, + "end": 2022, + "interval": 1} + }, + ) +}} + +SELECT + SAFE_CAST(ano AS INT64) ano, + SAFE_CAST(id_votacao AS STRING) id_votacao, + SAFE_CAST(data AS DATE) data, + SAFE_CAST(horario AS TIME) horario, + SAFE_CAST(id_orgao AS STRING) id_orgao, + SAFE_CAST(sigla_orgao AS STRING) sigla_orgao, + SAFE_CAST(id_evento AS STRING) id_evento, + SAFE_CAST(aprovacao AS INT64) aprovacao, + SAFE_CAST(voto_sim AS INT64) voto_sim, + SAFE_CAST(voto_nao AS INT64) voto_nao, + SAFE_CAST(voto_outro AS INT64) voto_outro, + SAFE_CAST(descricao AS STRING) descricao, + SAFE_CAST(data_hora_ultima_votacao AS DATETIME) data_hora_ultima_votacao, + SAFE_CAST(descricao_ultima_votacao AS STRING) descricao_ultima_votacao, + SAFE_CAST(data_hora_ultima_proposicao AS DATETIME) data_hora_ultima_proposicao, + SAFE_CAST(descricao_ultima_proposicao AS STRING) descricao_ultima_proposicao, + SAFE_CAST(id_ultima_proposicao AS STRING) id_ultima_proposicao, +FROM basedosdados-dev.br_camara_dados_abertos_staging.votacao_microdados AS t diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_objeto.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_objeto.sql new file mode 100644 index 00000000..87574de1 --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_objeto.sql @@ -0,0 +1,28 @@ +{{ + config( + alias = 'votacao_objeto', + schema='br_camara_dados_abertos', + materialized='table', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 1935, + "end": 2022, + "interval": 1} + }, + ) +}} +SELECT + SAFE_CAST(ano AS INT64) ano, + SAFE_CAST(id_votacao AS STRING) id_votacao, + SAFE_CAST(data AS DATE) data, + SAFE_CAST(descricao AS STRING) descricao, + SAFE_CAST(id_proposicao AS STRING) id_proposicao, + SAFE_CAST(ano_proposicao AS INT64) ano_proposicao, + SAFE_CAST(ementa AS STRING) ementa, + SAFE_CAST(codigo_tipo AS STRING) codigo_tipo, + SAFE_CAST(sigla_tipo AS STRING) sigla_tipo, + SAFE_CAST(numero AS STRING) numero, + SAFE_CAST(titulo AS STRING) titulo +FROM basedosdados-dev.br_camara_dados_abertos_staging.votacao_objeto AS t \ No newline at end of file diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_orientacao_bancada.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_orientacao_bancada.sql new file mode 100644 index 00000000..95b04923 --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_orientacao_bancada.sql @@ -0,0 +1,23 @@ +{{ + config( + alias = 'votacao_orientacao_bancada', + schema='br_camara_dados_abertos', + materialized='table', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2003, + "end": 2022, + "interval": 1} + }, + ) +}} +SELECT + SAFE_CAST(ano AS INT64) ano, + SAFE_CAST(id_votacao AS STRING) id_votacao, + SAFE_CAST(sigla_orgao AS STRING) sigla_orgao, + SAFE_CAST(descricao AS STRING) descricao, + SAFE_CAST(id_proposicao AS STRING) id_proposicao, + SAFE_CAST(orientacao AS STRING) orientacao, +FROM basedosdados-dev.br_camara_dados_abertos_staging.votacao_orientacao_bancada AS t \ No newline at end of file diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_proposicao_afetada.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_proposicao_afetada.sql new file mode 100644 index 00000000..02b2b045 --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_proposicao_afetada.sql @@ -0,0 +1,28 @@ +{{ + config( + alias = 'votacao_proposicao_afetada', + schema='br_camara_dados_abertos', + materialized='table', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2003, + "end": 2022, + "interval": 1} + }, + ) +}} +SELECT + SAFE_CAST(ano AS INT64) ano, + SAFE_CAST(id_votacao AS STRING) id_votacao, + SAFE_CAST(data AS DATE) data, + SAFE_CAST(descricao AS STRING) descricao, + SAFE_CAST(id_proposicao AS STRING) id_proposicao, + SAFE_CAST(ano_proposicao AS INT64) ano_proposicao, + SAFE_CAST(titulo AS STRING) titulo, + SAFE_CAST(ementa AS STRING) ementa, + SAFE_CAST(codigo_tipo AS STRING) codigo_tipo, + SAFE_CAST(sigla_tipo AS STRING) sigla_tipo, + SAFE_CAST(numero AS STRING) numero, +FROM basedosdados-dev.br_camara_dados_abertos_staging.votacao_proposicao_afetada AS t \ No newline at end of file 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__voto_parlamentar.sql new file mode 100644 index 00000000..3396b587 --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__voto_parlamentar.sql @@ -0,0 +1,26 @@ +{{ + config( + alias = 'voto_parlamentar', + schema='br_camara_dados_abertos', + materialized='table', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2003, + "end": 2022, + "interval": 1} + }, + ) +}} +SELECT + SAFE_CAST(ano AS INT64) ano, + SAFE_CAST(id_votacao AS STRING) id_votacao, + SAFE_CAST(data_hora AS DATETIME) data_hora, + SAFE_CAST(voto AS STRING) voto, + SAFE_CAST(id_deputado AS STRING) id_deputado, + SAFE_CAST(nome AS STRING) nome, + 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-dev.br_camara_dados_abertos_staging.voto_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 new file mode 100644 index 00000000..b7a72e2e --- /dev/null +++ b/models/br_camara_dados_abertos/schema.yml @@ -0,0 +1,134 @@ +version: 2 + +models: + - name: br_camara_dados_abertos__votacao_microdados + description: Identificadores e informações sobre as votações das comissões e do Plenário da Câmara, por ano em que tenham ocorrido. + columns: + - name: ano + description: Ano + - name: id_votacao + description: ID da votação + - name: data + description: Data + - name: horario + description: Horário + - name: id_orgao + description: ID do órgão + - name: sigla_orgao + description: Sigla do órgão + - name: id_evento + description: ID do evento + - name: aprovacao + description: Indicador se ocorreu a aprovação + - name: voto_sim + description: Quantidade de votos - Sim + - name: voto_nao + description: Quantidade de votos - Não + - name: voto_outro + description: Quantidade de votos - Outros + - name: descricao + description: Descrição sobre a votação + - name: data_hora_ultima_votacao + description: Data e hora da última abertura da votação + - name: descricao_ultima_votacao + description: Descrição da última abertura da votação + - name: data_hora_ultima_proposicao + description: Data e hora da última apresentação da proposição + - name: descricao_ultima_proposicao + description: Descrição da última apresentação da proposição + - name: id_ultima_proposicao + description: ID da última proposição apresentada + +models: + - name: br_camara_dados_abertos__votacao_objeto + description: Cada votação é uma decisão sobre uma e somente uma Proposição, que no Dados Abertos é o chamado objeto da votação. Muitas vezes, porém, a proposição que realmente é votada não é identificada, e em alguns casos não é nem mesmo cadastrada. + columns: + - name: ano + description: Ano + - name: id_votacao + description: ID da votação + - name: data + description: Data + - name: descricao + description: Descrição sobre a votação + - name: id_proposicao + description: ID proposição + - name: ano_proposicao + description: Ano da proposição + - name: ementa + description: Ementa da proposição + - name: codigo_tipo + description: Código do tipo da proposição + - name: sigla_tipo + description: Sigla do tipo da proposição + - name: numero + description: Número da proposição + - name: titulo + description: Título da proposição + +models: + - name: br_camara_dados_abertos__voto_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. + columns: + - name: ano + description: Ano + - name: id_votacao + description: ID da votação + - name: data_hora + description: Data e hora + - name: voto + description: Voto + - name: id_deputado + description: ID do deputado + - name: nome + description: Nome do deputado + - name: sigla_partido + description: Sigla do partido + - name: sigla_uf + description: Sigla da Unidade da Federação + - name: id_legislatura + description: ID da legislatura + +models: + - 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". + columns: + - name: ano + description: Ano + - name: id_votacao + description: ID da votação + - name: sigla_orgao + description: Sigla do órgão + - name: descricao + description: Descrição sobre a votação + - name: id_proposicao + description: ID proposição + - name: orientacao + description: Orientação da bancada + +models: + - name: br_camara_dados_abertos__votacao_proposicao_afetada + description: Quando alguém fala algo como "a votação do PL 1234", o significado no Dados Abertos é "as várias votações de proposições relacionadas ao PL 1234". O tal PL 1234 é, portanto, a proposição afetada por essas votações. + columns: + - name: ano + description: Ano + - name: id_votacao + description: ID da votação + - name: data + description: Data + - name: descricao + description: Descrição sobre a votação + - name: id_proposicao + description: ID proposição + - name: ano_proposicao + description: Ano da proposição + - name: titulo + description: Título da proposição + - name: ementa + description: Ementa da proposição + - name: codigo_tipo + description: Código do tipo da proposição + - name: sigla_tipo + description: Sigla do tipo da proposição + - name: numero + description: Número da proposição