diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado.sql index ecfa85b0..ba6bbb8d 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado.sql @@ -2,62 +2,60 @@ with sql as ( select + regexp_extract(uri, r'/([^/]+)$') as id_deputado, safe_cast(nome as string) nome, - safe_cast(nome_civil as string) nome_civil, - safe_cast(data_nascimento as date) data_nascimento, - safe_cast(data_falecimento as date) data_falecimento, - regexp_extract(id_deputado, r'/([^/]+)$') as id_deputado, + safe_cast(nomecivil as string) nome_civil, + safe_cast(datanascimento as date) data_nascimento, + safe_cast(datafalecimento as date) data_falecimento, case - when id_municipio_nascimento = 'SAO PAULO' + when municipionascimento = 'SAO PAULO' then 'São Paulo' - when id_municipio_nascimento = 'Moji-Mirim' + when municipionascimento = 'Moji-Mirim' then 'Mogi Mirim' - when id_municipio_nascimento = "São Lourenço D'Oeste" + when municipionascimento = "São Lourenço D'Oeste" then 'São Lourenço do Oeste' - when id_municipio_nascimento = "Santa Bárbara D'Oeste" + when municipionascimento = "Santa Bárbara D'Oeste" then "Santa Bárbara d'Oeste" - when id_municipio_nascimento = "Araióses" + when municipionascimento = "Araióses" then "Araioses" - when id_municipio_nascimento = "Cacador" + when municipionascimento = "Cacador" then "Caçador" - when id_municipio_nascimento = "Pindaré Mirim" + when municipionascimento = "Pindaré Mirim" then "Pindaré-Mirim" - when id_municipio_nascimento = "Belém de São Francisco" + when municipionascimento = "Belém de São Francisco" then "Belém do São Francisco" - when id_municipio_nascimento = "Sud Menucci" + when municipionascimento = "Sud Menucci" then "Sud Mennucci" - when id_municipio_nascimento = 'Duerê' + when municipionascimento = 'Duerê' then "Dueré" - when id_municipio_nascimento = 'Santana do Livramento' + when municipionascimento = 'Santana do Livramento' then "Sant'Ana do Livramento" - when id_municipio_nascimento = "Herval D'Oeste" + when municipionascimento = "Herval D'Oeste" then "Herval d'Oeste" - when id_municipio_nascimento = "Guaçui" + when municipionascimento = "Guaçui" then "Guaçuí" - when id_municipio_nascimento = "Lençois Paulista" + when municipionascimento = "Lençois Paulista" then "Lençóis Paulista" - when id_municipio_nascimento = "Amambaí" + when municipionascimento = "Amambaí" then "Amambai" - when id_municipio_nascimento = "Santo Estevão" + when municipionascimento = "Santo Estevão" then "Santo Estêvão" - when id_municipio_nascimento = "Poxoréu" + when municipionascimento = "Poxoréu" then "Poxoréo" - when id_municipio_nascimento = "Trajano de Morais" + when municipionascimento = "Trajano de Morais" then "Trajano de Moraes" - else id_municipio_nascimento - end as id_municipio_nascimento, - safe_cast(sigla_uf_nascimento as string) sigla_uf_nascimento, - case - when sexo = 'M' - then 'Masculino' - when sexo = 'F' - then 'Feminino' - else sexo - end as sexo, - safe_cast(id_inicial_legislatura as string) id_inicial_legislatura, - safe_cast(id_final_legislatura as string) id_final_legislatura, - safe_cast(url_site as string) url_site, - safe_cast(url_rede_social as string) url_rede_social, + else municipionascimento + end as municipionascimento, + safe_cast(ufnascimento as string) sigla_uf_nascimento, + replace( + replace(safe_cast(siglasexo as string), 'M', 'Masculino'), + 'F', + 'Feminino' + ) sexo, + safe_cast(idlegislaturainicial as string) id_inicial_legislatura, + safe_cast(idlegislaturafinal as string) id_final_legislatura, + safe_cast(urlwebsite as string) url_site, + safe_cast(urlwebsite as string) url_rede_social, from `basedosdados-staging.br_camara_dados_abertos_staging.deputado` ), uniao_valores as ( @@ -65,7 +63,7 @@ with from sql as a left join `basedosdados.br_bd_diretorios_brasil.municipio` as b - on a.id_municipio_nascimento = b.nome + on a.municipionascimento = b.nome and a.sigla_uf_nascimento = b.sigla_uf ) select diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado_ocupacao.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado_ocupacao.sql index 692a95c8..d86d01db 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado_ocupacao.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado_ocupacao.sql @@ -1,9 +1,9 @@ {{ config(alias="deputado_ocupacao", schema="br_camara_dados_abertos") }} -select - safe_cast(ano_inicio as int64) ano_inicio, - safe_cast(ano_fim as int64) ano_fim, - safe_cast(id_deputado as string) id_deputado, - safe_cast(sigla_uf as string) sigla_uf, +select distinct + safe_cast(id as string) id_deputado, + safe_cast(anoinicio as int64) ano_inicio, + safe_cast(anofim as int64) ano_fim, + safe_cast(entidadeuf as string) sigla_uf, safe_cast(entidade as string) entidade, safe_cast(titulo as string) titulo, from `basedosdados-staging.br_camara_dados_abertos_staging.deputado_ocupacao` as t diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado_profissao.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado_profissao.sql index 86fbcc5a..c390d6f6 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado_profissao.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__deputado_profissao.sql @@ -1,16 +1,16 @@ {{ config(alias="deputado_profissao", schema="br_camara_dados_abertos") }} -select - safe_cast(id_deputado as int64) id_deputado, +select distinct + safe_cast(id as string) id_deputado, safe_cast( - split(format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(data)), 'T')[ + split(format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(datahora)), 'T')[ offset(0) ] as date ) data, safe_cast( - split(format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(data)), 'T')[ + split(format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(datahora)), 'T')[ offset(1) ] as time ) horario, - safe_cast(id_profissao as string) id_profissao, + safe_cast(codtipoprofissao as string) id_profissao, safe_cast(titulo as string) titulo, from `basedosdados-staging.br_camara_dados_abertos_staging.deputado_profissao` as t diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__evento.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__evento.sql index 782b14a2..bc433703 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__evento.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__evento.sql @@ -1,7 +1,6 @@ -# register flow {{ config(alias="evento", schema="br_camara_dados_abertos") }} select - safe_cast(id as string) id, + safe_cast(id as string) id_evento, safe_cast(urldocumentopauta as string) url_documento_pauta, safe_cast( split(format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(datahorainicio)), 'T')[ diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_orgao.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_orgao.sql index f7e9daab..7f6332d8 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_orgao.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_orgao.sql @@ -1,7 +1,6 @@ -# register flow {{ config(alias="evento_orgao", schema="br_camara_dados_abertos") }} select safe_cast(idevento as string) id_evento, safe_cast(idorgao as string) id_orgao, - safe_cast(siglaorgao as string) sigla_orgao, + safe_cast(siglaorgao as string) sigla_orgao from `basedosdados-staging.br_camara_dados_abertos_staging.evento_orgao` as t diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_presenca_deputado.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_presenca_deputado.sql index 3a299c75..2202a335 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_presenca_deputado.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_presenca_deputado.sql @@ -1,4 +1,3 @@ -# register flow {{ config(alias="evento_presenca_deputado", schema="br_camara_dados_abertos") }} select distinct safe_cast(idevento as string) id_evento, diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_requerimento.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_requerimento.sql index 55662ec7..c4448e44 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_requerimento.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__evento_requerimento.sql @@ -1,4 +1,3 @@ -# register flow {{ config(alias="evento_requerimento", schema="br_camara_dados_abertos") }} select safe_cast(idevento as string) id_evento, diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__frente.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__frente.sql index 5d03d24c..f5359e8e 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__frente.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__frente.sql @@ -1,7 +1,6 @@ -# register flow {{ config(alias="frente", schema="br_camara_dados_abertos") }} select - safe_cast(id as string) id, + safe_cast(id as string) id_frente, safe_cast(titulo as string) titulo, safe_cast(datacriacao as date) data_criacao, safe_cast(idlegislatura as string) id_legislatura, diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__frente_deputado.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__frente_deputado.sql index 7606474f..6ae65e28 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__frente_deputado.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__frente_deputado.sql @@ -1,9 +1,8 @@ -# register flow {{ config(alias="frente_deputado", schema="br_camara_dados_abertos") }} -select +select distinct safe_cast(id as string) id_frente, safe_cast(titulo as string) titulo, - safe_cast(id_deputado as string) id_deputado, + safe_cast(replace(id_deputado, ".0", "") as string) id_deputado, initcap(nome_deputado) nome_deputado, safe_cast(titulo_deputado as string) titulo_deputado, safe_cast(url_foto_deputado as string) url_foto_deputado, diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__funcionario.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__funcionario.sql index a5bb19e6..6ed9a2d9 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__funcionario.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__funcionario.sql @@ -1,4 +1,3 @@ -# register flow {{ config(alias="funcionario", schema="br_camara_dados_abertos") }} select distinct safe_cast(nome as string) nome, diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__legislatura.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__legislatura.sql index 82c793f9..7402ca23 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__legislatura.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__legislatura.sql @@ -1,7 +1,7 @@ {{ config(alias="legislatura", schema="br_camara_dados_abertos") }} select safe_cast(anoeleicao as int64) ano, - safe_cast(idlegislatura as string) id, + safe_cast(idlegislatura as string) id_legislatura, safe_cast(uri as string) url, safe_cast(datainicio as date) data_inicio, safe_cast(datafim as date) data_final, diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__legislatura_mesa.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__legislatura_mesa.sql index 75ed51c3..a7d42e0b 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__legislatura_mesa.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__legislatura_mesa.sql @@ -1,6 +1,6 @@ {{ config(alias="legislatura_mesa", schema="br_camara_dados_abertos") }} select - safe_cast(idlegislatura as string) id, + safe_cast(idlegislatura as string) id_legislatura, safe_cast(datainicio as datetime) data_inicio, safe_cast(datafim as datetime) data_final, safe_cast(idorgao as string) id_orgao, diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao.sql new file mode 100644 index 00000000..84248fde --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao.sql @@ -0,0 +1,21 @@ +{{ config(alias="licitacao", schema="br_camara_dados_abertos") }} +select + safe_cast(ano as int64) ano_licitacao, + safe_cast(idlicitacao as string) id_licitacao, + safe_cast(anoprocesso as int64) ano_processo, + safe_cast(numprocesso as string) id_processo, + safe_cast(objeto as string) objeto, + safe_cast(modalidade as string) modalidade, + safe_cast(tipo as string) tipo, + safe_cast(situacao as string) situacao, + safe_cast(dataabertura as date) data_abertura, + safe_cast(datapublicacao as date) data_publicacao, + safe_cast(dataautorizacao as date) data_autorizacao, + safe_cast(numitens as int64) quantidade_item, + safe_cast(numunidades as int64) quantidade_unidade, + safe_cast(numpropostas as int64) quantidade_proposta, + safe_cast(numcontratos as int64) quantidade_contrato, + safe_cast(vlrestimado as int64) valor_estimado, + safe_cast(vlrcontratado as int64) valor_contratado, + safe_cast(vlrpago as int64) valor_pago, +from `basedosdados-staging.br_camara_dados_abertos_staging.licitacao` as t diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_contrato.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_contrato.sql new file mode 100644 index 00000000..1f1f9407 --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_contrato.sql @@ -0,0 +1,22 @@ +{{ config(alias="licitacao_contrato", schema="br_camara_dados_abertos") }} +select distinct + safe_cast(ano as int64) ano_licitacao, + safe_cast(idlicitacao as string) id_licitacao, + safe_cast(anocontrato as int64) ano_contrato, + safe_cast(numcontrato as string) id_contrato, + safe_cast(tipocontrato as string) tipo_contrato, + safe_cast(situacaocontrato as string) situacao_contrato, + safe_cast(objeto as string) descricao, + safe_cast(dataassinatura as date) data_assinatura, + safe_cast(datapublicacao as date) data_publicacao, + safe_cast(datainiciovigenciaoriginal as date) data_inicio_contrato, + safe_cast(datafimvigenciaoriginal as date) data_fim_contrato, + safe_cast(datafimultimavigencia as date) data_fim_ultima_vigencia, + safe_cast(fornecedornome as string) nome_fornecedor, + safe_cast(fornecedorendereco as string) endereco_fornecedor, + safe_cast(fornecedorcidade as string) cidade_fornecedor, + safe_cast(fornecedorsiglauf as string) sigla_uf_fornecedor, + safe_cast(fornecedorcpfcnpj as string) cpf_cnpj_fornecedor, + safe_cast(vlroriginal as int64) valor_original, + safe_cast(vlrtotal as int64) valor_total, +from `basedosdados-staging.br_camara_dados_abertos_staging.licitacao_contrato` as t diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_item.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_item.sql new file mode 100644 index 00000000..f99f64b5 --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_item.sql @@ -0,0 +1,26 @@ +{{ config(alias="licitacao_item", schema="br_camara_dados_abertos") }} +select + safe_cast(ano as int64) ano_licitacao, + safe_cast(idlicitacao as string) id_licitacao, + safe_cast(numitem as string) id_item, + safe_cast(replace(numsubitem, '.0', '') as string) id_sub_item, + safe_cast(descricao as string) descricao, + safe_cast(especificacao as string) especificacao, + safe_cast(unidade as string) unidade, + safe_cast(qtdlicitada as int64) quantidade_licitada, + safe_cast(replace(vlrunitarioestimado, ".0", "") as int64) valor_unitario_estimado, + safe_cast(replace(qtdcontratada, ".0", "") as int64) quantidade_contratada, + safe_cast( + replace(vlrunitariocontratado, ".0", "") as int64 + ) valor_unitario_contratado, + safe_cast(replace(vlrtotalcontratado, ".0", "") as int64) valor_total_contratado, + safe_cast(fornecedorcpfcnpj as string) cpf_cnpj_fornecedor, + safe_cast(fornecedornome as string) nome_fornecedor, + safe_cast(numcontrato as string) id_contrato, + safe_cast(replace(anocontrato, ".0", "") as int64) ano_contrato, + safe_cast(tipocontrato as string) tipo_contrato, + safe_cast(situacaoitem as string) situacao_item, + safe_cast(observacoes as string) observacao, + safe_cast(naturezadespesa as string) natureza_despesa, + safe_cast(programatrabalho as string) programa_trabalho, +from `basedosdados-staging.br_camara_dados_abertos_staging.licitacao_item` as t diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_pedido.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_pedido.sql new file mode 100644 index 00000000..179ba2bb --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_pedido.sql @@ -0,0 +1,22 @@ +{{ config(alias="licitacao_pedido", schema="br_camara_dados_abertos") }} +select + safe_cast(ano as int64) ano_licitacao, + safe_cast(idlicitacao as string) id_licitacao, + safe_cast(tiporegistro as string) tipo_registo, + safe_cast(anopedido as int64) ano_pedido, + safe_cast(numpedido as string) id_pedido, + safe_cast( + split(format_timestamp('%Y-%m-%d', timestamp(datahoracadastro)), ' ')[ + safe_offset(0) + ] as date + ) data_cadastro, + safe_cast( + split( + format_timestamp('%Y-%m-%d %H:%M:%E*S', timestamp(datahoracadastro)), ' ' + )[safe_offset(1)] as time + ) horario_cadastro, + safe_cast(idorgao as string) id_orgao, + safe_cast(orgao as string) orgao, + safe_cast(objeto as string) descricao, + safe_cast(observacoes as string) observacao, +from `basedosdados-staging.br_camara_dados_abertos_staging.licitacao_pedido` as t diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_proposta.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_proposta.sql new file mode 100644 index 00000000..45682526 --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__licitacao_proposta.sql @@ -0,0 +1,16 @@ +{{ config(alias="licitacao_proposta", schema="br_camara_dados_abertos") }} +select distinct + safe_cast(ano as int64) ano, + safe_cast(idlicitacao as string) id_licitacao, + safe_cast(descricao as string) descricao, + safe_cast(unidadeslicitadas as int64) quantidade_unidade_licitacao, + safe_cast(vlrestimado as int64) valor_estimado, + safe_cast(numproposta as string) id_proposta, + safe_cast(replace(unidadesproposta, ".0", "") as int64) unidade_proposta, + safe_cast(vlrproposta as int64) valor_proposta, + safe_cast(marcaproposta as string) marca_proposta, + safe_cast(fornecedorcpfcnpj as string) cpf_cnpj_fornecedor, + safe_cast(fornecedorsituacao as string) fornecedor_situacao, + safe_cast(dataproposta as date) data_proposta, + safe_cast(diasvalidadeproposta as int64) validade_proposta, +from `basedosdados-staging.br_camara_dados_abertos_staging.licitacao_proposta` as t 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 index 6c801767..7897432b 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__orgao.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__orgao.sql @@ -1,5 +1,6 @@ {{ config(alias="orgao", schema="br_camara_dados_abertos") }} select + regexp_extract(uri, r'/orgaos/(\d+)') id_orgao, safe_cast(nome as string) nome, safe_cast(apelido as string) apelido, safe_cast(sigla as string) sigla, 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 index ac167208..d7115b63 100644 --- 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 @@ -1,8 +1,8 @@ {{ config(alias="orgao_deputado", schema="br_camara_dados_abertos") }} select distinct + regexp_extract(uriorgao, r'/orgaos/(\d+)') as id_orgao, 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, diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_autor.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_autor.sql index 6e6788cb..c6214862 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_autor.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_autor.sql @@ -2,14 +2,11 @@ select safe_cast(idproposicao as string) id_proposicao, - safe_cast(uriproposicao as string) url_proposicao, replace(safe_cast(iddeputadoautor as string), ".0", "") id_deputado, initcap(safe_cast(tipoautor as string)) tipo_autor, initcap(safe_cast(nomeautor as string)) nome_autor, - safe_cast(uriautor as string) url_autor, safe_cast(siglapartidoautor as string) sigla_partido, upper(safe_cast(siglaufautor as string)) sigla_uf_autor, - safe_cast(uripartidoautor as string) url_partido, safe_cast(ordemassinatura as string) ordem_assinatura, safe_cast(proponente as string) proponente, from `basedosdados-staging.br_camara_dados_abertos_staging.proposicao_autor` as t diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_microdados.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_microdados.sql index c9260775..f99989ff 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_microdados.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_microdados.sql @@ -5,8 +5,8 @@ materialized="table", partition_by={ "field": "ano", - "data_type": "int64", - "range": {"start": 1935, "end": 2024, "interval": 1}, + "data_type": "INT64", + "range": {"start": 1935, "end": 2023, "interval": 1}, }, ) }} @@ -23,7 +23,7 @@ select format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(dataapresentacao)), 'T' )[offset(1)] as time ) horario, - safe_cast(id as string) id, + safe_cast(id as string) id_proposicao, safe_cast(uri as string) url, safe_cast(numero as string) numero, safe_cast(siglatipo as string) sigla, diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_tema.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_tema.sql index e478adc9..10d0cc64 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_tema.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__proposicao_tema.sql @@ -12,8 +12,8 @@ }} select - safe_cast(ano as int64) ano, - safe_cast(uriproposicao as string) url_proposicao, + safe_cast(replace(ano, ".0", "") as int64) ano, + regexp_extract(uriproposicao, r'/proposicoes/(\d+)') as id_proposicao, safe_cast(siglatipo as string) tipo_proposicao, safe_cast(numero as string) numero, safe_cast(codtema as string) tema, diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao.sql new file mode 100644 index 00000000..84a22319 --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao.sql @@ -0,0 +1,38 @@ +{{ config(alias="votacao", schema="br_camara_dados_abertos") }} + + +select + safe_cast(replace(id, "-", "") as string) id_votacao, + safe_cast(data as date) data, + safe_cast( + split( + format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(datahoraregistro)), 'T' + )[offset(0)] as date + ) data_registro, + safe_cast( + split( + format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(datahoraregistro)), 'T' + )[offset(1)] as time + ) horario_registro, + safe_cast(idorgao as string) id_orgao, + safe_cast(siglaorgao as string) sigla_orgao, + safe_cast(idevento as string) id_evento, + safe_cast(replace(aprovacao, ".0", "") as int64) aprovacao, + safe_cast(votossim as int64) voto_sim, + safe_cast(votosnao as int64) voto_nao, + safe_cast(votosoutros as int64) voto_outro, + safe_cast(descricao as string) descricao, + safe_cast( + ultimaaberturavotacao_datahoraregistro as datetime + ) data_hora_ultima_votacao, + safe_cast(ultimaaberturavotacao_descricao as string) descricao_ultima_votacao, + safe_cast( + ultimaapresentacaoproposicao_datahoraregistro as datetime + ) data_hora_ultima_proposicao, + safe_cast(ultimaapresentacaoproposicao_idproposicao as string) id_ultima_proposicao, + case + when ultimaapresentacaoproposicao_descricao = 'nan' + then null + else initcap(ultimaapresentacaoproposicao_descricao) + end as descricao_ultima_proposicao +from `basedosdados-staging.br_camara_dados_abertos_staging.votacao` as t 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 deleted file mode 100644 index a9e2af38..00000000 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_microdados.sql +++ /dev/null @@ -1,37 +0,0 @@ -{{ - config( - alias="votacao_microdados", - schema="br_camara_dados_abertos", - materialized="table", - partition_by={ - "field": "ano", - "data_type": "int64", - "range": {"start": 1935, "end": 2023, "interval": 1}, - }, - post_hook=[ - 'CREATE OR REPLACE ROW ACCESS POLICY allusers_filter ON {{this}} GRANT TO ("allUsers") FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"), DATE(data), week) > 6)', - 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter ON {{this}} GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"), DATE(data), week) <= 6)', - ], - ) -}} - - -select - safe_cast(ano as int64) ano, - safe_cast(id_votacao as string) id_votacao, - safe_cast(data as date) data, - time(timestamp(horario)) as 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(replace(aprovacao, ".0", "") 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-staging.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 index c7cd356a..d49b1e34 100644 --- 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 @@ -3,28 +3,20 @@ alias="votacao_objeto", schema="br_camara_dados_abertos", materialized="table", - partition_by={ - "field": "ano", - "data_type": "int64", - "range": {"start": 1935, "end": 2023, "interval": 1}, - }, - post_hook=[ - 'CREATE OR REPLACE ROW ACCESS POLICY allusers_filter ON {{this}} GRANT TO ("allUsers") FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"), DATE(data), week) > 6)', - 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter ON {{this}} GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"), DATE(data), week) <= 6)', - ], ) }} select - safe_cast(ano as int64) ano, - safe_cast(id_votacao as string) id_votacao, + safe_cast(replace(idvotacao, "-", "") 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(replace(ano_proposicao, ".0", "") 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(replace(numero, ".0", "") as string) numero, - safe_cast(titulo as string) titulo + safe_cast( + replace(descricao, "Name: descricao, dtype: object", "") as string + ) descricao, + safe_cast(proposicao_id as string) id_proposicao, + safe_cast(replace(proposicao_ano, ".0", "") as int64) ano_proposicao, + safe_cast(proposicao_ementa as string) ementa, + safe_cast(proposicao_codtipo as string) codigo_tipo, + safe_cast(proposicao_siglatipo as string) sigla_tipo, + safe_cast(replace(proposicao_numero, ".0", "") as string) numero, + safe_cast(proposicao_titulo as string) titulo from `basedosdados-staging.br_camara_dados_abertos_staging.votacao_objeto` as t 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 index f08b5b23..707b49e0 100644 --- 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 @@ -1,20 +1,10 @@ -{{ - config( - alias="votacao_orientacao_bancada", - schema="br_camara_dados_abertos", - materialized="table", - partition_by={ - "field": "ano", - "data_type": "int64", - "range": {"start": 2003, "end": 2023, "interval": 1}, - }, - ) -}} +{{ config(alias="votacao_orientacao_bancada", schema="br_camara_dados_abertos") }} 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(replace(idvotacao, "-", "") as string) id_votacao, + safe_cast(siglaorgao as string) sigla_orgao, safe_cast(descricao as string) descricao, - safe_cast(id_proposicao as string) sigla_bancada, + safe_cast(siglabancada as string) sigla_bancada, safe_cast(orientacao as string) orientacao, -from `basedosdados-staging.br_camara_dados_abertos_staging.votacao_orientacao_bancada` t +from + `basedosdados-staging.br_camara_dados_abertos_staging.votacao_orientacao_bancada` + as t diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_parlamentar.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_parlamentar.sql index 7dd6d166..c1edcebd 100644 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_parlamentar.sql +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_parlamentar.sql @@ -1,36 +1,20 @@ -{{ - config( - alias="votacao_parlamentar", - schema="br_camara_dados_abertos", - materialized="table", - partition_by={ - "field": "ano", - "data_type": "int64", - "range": {"start": 2003, "end": 2022, "interval": 1}, - }, - post_hook=[ - 'CREATE OR REPLACE ROW ACCESS POLICY allusers_filter ON {{this}} GRANT TO ("allUsers") FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"), DATE(data), week) > 6)', - 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter ON {{this}} GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"), DATE(data), week) <= 6)', - ], - ) -}} +{{ config(alias="votacao_parlamentar", schema="br_camara_dados_abertos") }} select - safe_cast(ano as int64) ano, - safe_cast(id_votacao as string) id_votacao, + safe_cast(replace(idvotacao, "-", "") as string) id_votacao, safe_cast( - split(format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(data_hora)), 'T')[ + split(format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(datahoravoto)), 'T')[ offset(0) ] as date ) data, safe_cast( - split(format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(data_hora)), 'T')[ + split(format_timestamp('%Y-%m-%dT%H:%M:%E*S', timestamp(datahoravoto)), 'T')[ offset(1) ] as time ) horario, safe_cast(voto as string) voto, - safe_cast(replace(id_deputado, ".0", "") 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 + safe_cast(replace(deputado_id, ".0", "") as string) id_deputado, + safe_cast(deputado_nome as string) nome, + safe_cast(deputado_siglapartido as string) sigla_partido, + safe_cast(deputado_siglauf as string) sigla_uf, + safe_cast(deputado_idlegislatura as string) id_legislatura from `basedosdados-staging.br_camara_dados_abertos_staging.votacao_parlamentar` as t diff --git a/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_proposicao.sql b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_proposicao.sql new file mode 100644 index 00000000..2bc2f519 --- /dev/null +++ b/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_proposicao.sql @@ -0,0 +1,13 @@ +{{ config(alias="votacao_proposicao", schema="br_camara_dados_abertos") }} +select + safe_cast(replace(idvotacao, "-", "") as string) id_votacao, + safe_cast(data as date) data, + safe_cast(descricao as string) descricao, + safe_cast(proposicao_id as string) id_proposicao, + safe_cast(replace(proposicao_ano, ".0", "") as int64) ano_proposicao, + safe_cast(proposicao_titulo as string) titulo, + safe_cast(proposicao_ementa as string) ementa, + safe_cast(proposicao_codtipo as string) codigo_tipo, + safe_cast(proposicao_siglatipo as string) sigla_tipo, + safe_cast(replace(proposicao_numero, ".0", "") as string) numero, +from `basedosdados-staging.br_camara_dados_abertos_staging.votacao_proposicao` as t 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 deleted file mode 100644 index ffc3ff82..00000000 --- a/models/br_camara_dados_abertos/br_camara_dados_abertos__votacao_proposicao_afetada.sql +++ /dev/null @@ -1,29 +0,0 @@ -{{ - config( - alias="votacao_proposicao_afetada", - schema="br_camara_dados_abertos", - materialized="table", - partition_by={ - "field": "ano", - "data_type": "int64", - "range": {"start": 2003, "end": 2023, "interval": 1}, - }, - post_hook=[ - 'CREATE OR REPLACE ROW ACCESS POLICY allusers_filter ON {{this}} GRANT TO ("allUsers") FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"), DATE(data), week) > 6)', - 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter ON {{this}} GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"), DATE(data), week) <= 6)', - ], - ) -}} -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(replace(ano_proposicao, ".0", "") 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(replace(numero, ".0", "") as string) numero, -from `basedosdados-staging.br_camara_dados_abertos_staging.votacao_proposicao_afetada` t diff --git a/models/br_camara_dados_abertos/schema.yml b/models/br_camara_dados_abertos/schema.yml index ebc50441..5883790e 100644 --- a/models/br_camara_dados_abertos/schema.yml +++ b/models/br_camara_dados_abertos/schema.yml @@ -1,56 +1,101 @@ --- version: 2 models: - - name: br_camara_dados_abertos__votacao_microdados + - name: br_camara_dados_abertos__votacao 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. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_votacao] + combination_of_columns: [id_votacao, id_orgao, id_evento] columns: - - name: ano - description: Ano - tests: - - not_null - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - 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 - - name: horario - description: Horário + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: data_registro + description: Data do registro da votação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: horario_registro + description: Horário do registro da votação - name: id_orgao description: ID do órgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: sigla_orgao description: Sigla do órgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: id_evento description: ID do evento + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: aprovacao description: Indicador se ocorreu a aprovação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: voto_sim description: Quantidade de votos - Sim + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: voto_nao description: Quantidade de votos - Não + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: voto_outro description: Quantidade de votos - Outros + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: descricao description: Descrição sobre a votação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: data_hora_ultima_votacao description: Data e hora da última abertura da votação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: descricao_ultima_votacao description: Descrição da última abertura da votação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: data_hora_ultima_proposicao description: Data e hora da última apresentação da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: descricao_ultima_proposicao description: Descrição da última apresentação da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: id_ultima_proposicao description: ID da última proposição apresentada + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - 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 @@ -60,37 +105,59 @@ models: - dbt_utils.unique_combination_of_columns: combination_of_columns: [id_votacao, id_proposicao] columns: - - name: ano - description: Ano - tests: - - not_null - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - 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: descricao description: Descrição sobre a votação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: id_proposicao description: ID proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: ano_proposicao description: Ano da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: ementa description: Ementa da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: codigo_tipo description: Código do tipo da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: sigla_tipo description: Sigla do tipo da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: numero description: Número da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: titulo description: Título da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - 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 @@ -100,13 +167,6 @@ models: - dbt_utils.unique_combination_of_columns: combination_of_columns: [id_votacao, id_deputado] columns: - - name: ano - description: Ano - tests: - - not_null - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - name: id_votacao description: ID da votação tests: @@ -166,24 +226,32 @@ models: - dbt_utils.unique_combination_of_columns: combination_of_columns: [id_votacao, sigla_bancada] columns: - - name: ano - description: Ano - tests: - - not_null - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - name: id_votacao description: ID da votação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: sigla_orgao description: Sigla do órgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: descricao description: Descrição sobre a votação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: sigla_bancada description: Sigla da bancada + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: orientacao description: Orientação da bancada - - name: br_camara_dados_abertos__votacao_proposicao_afetada + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 + - name: br_camara_dados_abertos__votacao_proposicao 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. @@ -191,41 +259,62 @@ models: - dbt_utils.unique_combination_of_columns: combination_of_columns: [id_votacao, id_proposicao] columns: - - name: ano - description: Ano - tests: - - not_null - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - 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: descricao description: Descrição sobre a votação + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: id_proposicao description: ID proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: ano_proposicao description: Ano da proposição tests: - relationships: to: ref('br_bd_diretorios_data_tempo__ano') field: ano.ano + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: titulo description: Título da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: ementa description: Ementa da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: codigo_tipo description: Código do tipo da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: sigla_tipo description: Sigla do tipo da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: numero description: Número da proposição + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: br_camara_dados_abertos__deputado description: Lista com identificadores e informações sobre todos os parlamentares que já estiveram em exercício em algum momento na história da Câmara. @@ -248,9 +337,6 @@ models: tests: - dbt_utils.not_null_proportion: at_least: 0.05 - - relationships: - to: ref('br_bd_diretorios_data_tempo__data') - field: data - name: data_falecimento description: Data de Falecimento tests: @@ -258,7 +344,7 @@ models: at_least: 0.05 - relationships: to: ref('br_bd_diretorios_data_tempo__data') - field: data + field: data.data - name: id_municipio_nascimento description: ID Município - IBGE 7 Dígitos referente ao nascimento tests: @@ -272,9 +358,6 @@ models: tests: - dbt_utils.not_null_proportion: at_least: 0.05 - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - name: id_deputado description: ID deputado tests: @@ -297,21 +380,21 @@ models: at_least: 0.05 - name: url_site description: URL do site - tests: - - dbt_utils.not_null_proportion: - at_least: 0.05 - name: url_rede_social description: URL das redes sociais - tests: - - dbt_utils.not_null_proportion: - at_least: 0.05 - name: br_camara_dados_abertos__deputado_ocupacao description: Lista com identificadores e informações sobre as atividades profissionais ou ocupacionais que o deputado já teve em sua carreira e declarou à Câmara dos Deputados. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_deputado] + combination_of_columns: + - id_deputado + - ano_inicio + - ano_fim + - entidade + - sigla_uf + - titulo columns: - name: ano_inicio description: Ano início @@ -320,7 +403,7 @@ models: at_least: 0.05 - relationships: to: ref('br_bd_diretorios_data_tempo__ano') - field: ano + field: ano.ano - name: ano_fim description: Ano fim tests: @@ -328,7 +411,7 @@ models: at_least: 0.05 - relationships: to: ref('br_bd_diretorios_data_tempo__ano') - field: ano + field: ano.ano - name: id_deputado description: ID deputado tests: @@ -339,9 +422,6 @@ models: tests: - dbt_utils.not_null_proportion: at_least: 0.05 - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - name: entidade description: Entidade tests: @@ -358,7 +438,7 @@ models: e/ou experiência. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id_deputado] + combination_of_columns: [id_deputado, data, horario, id_profissao] columns: - name: id_deputado description: ID do deputado @@ -372,7 +452,7 @@ models: at_least: 0.05 - relationships: to: ref('br_bd_diretorios_data_tempo__data') - field: data + field: data.data - name: horario description: Horario tests: @@ -400,11 +480,6 @@ models: tests: - dbt_utils.not_null_proportion: at_least: 0.05 - - name: url_proposicao - description: URL da proposição - tests: - - dbt_utils.not_null_proportion: - at_least: 0.05 - name: id_deputado description: ID do deputado autor tests: @@ -420,21 +495,11 @@ models: tests: - dbt_utils.not_null_proportion: at_least: 0.05 - - name: url_autor - description: URL do autor - tests: - - dbt_utils.not_null_proportion: - at_least: 0.05 - name: sigla_partido description: Sigla do partido do autor tests: - dbt_utils.not_null_proportion: at_least: 0.05 - - name: url_partido - description: URL do partido - tests: - - dbt_utils.not_null_proportion: - at_least: 0.05 - name: sigla_uf_autor description: Sigla da Unidade da Federação a qual o autor está vinculado tests: @@ -457,7 +522,7 @@ models: mais recente, proposições a que se relacionam, etc. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id] + combination_of_columns: [id_proposicao] columns: - name: ano description: Ano @@ -483,7 +548,7 @@ models: - relationships: to: ref('br_bd_diretorios_data_tempo__hora') field: hora - - name: id + - name: id_proposicao description: ID proposição tests: - dbt_utils.not_null_proportion: @@ -595,7 +660,7 @@ models: foi classificada pelo Centro de Documentação e Informação da Câmara. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, url_proposicao, tema, relevancia] + combination_of_columns: [ano, id_proposicao, tema, relevancia] columns: - name: ano description: Ano @@ -605,8 +670,8 @@ models: - relationships: to: ref('br_bd_diretorios_data_tempo__ano') field: ano.ano - - name: url_proposicao - description: URl da Proposição + - name: id_proposicao + description: ID proposição tests: - dbt_utils.not_null_proportion: at_least: 0.05 @@ -638,7 +703,7 @@ models: de 1988, mas teve variações ao longo do tempo. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id] + combination_of_columns: [id_legislatura] columns: - name: ano description: Ano da eleição @@ -648,7 +713,7 @@ models: - relationships: to: ref('br_bd_diretorios_data_tempo__ano') field: ano.ano - - name: id + - name: id_legislatura description: ID da legislatura tests: - dbt_utils.not_null_proportion: @@ -682,9 +747,9 @@ models: mandato de dois anos. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id, data_inicio, nome_deputado] + combination_of_columns: [id_legislatura, data_inicio, nome_deputado] columns: - - name: id + - name: id_legislatura description: ID da legislatura tests: - dbt_utils.not_null_proportion: @@ -758,8 +823,13 @@ models: existentes ou já extintos na Câmara dos Deputados. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [url_orgao] + combination_of_columns: [id_orgao] columns: + - name: id_orgao + description: ID do orgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: nome description: Nome do orgão tests: @@ -775,11 +845,6 @@ models: 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: @@ -838,6 +903,11 @@ models: - data_final - sigla_partido columns: + - name: id_orgao + description: ID do orgão + tests: + - dbt_utils.not_null_proportion: + at_least: 0.05 - name: nome description: Nome do orgão tests: @@ -905,10 +975,10 @@ models: de início e fim, tipo de evento, local e descrições em texto livre. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id] + combination_of_columns: [id_evento] columns: - - name: id - description: ID + - name: id_evento + description: ID do evento tests: - dbt_utils.not_null_proportion: at_least: 0.05 @@ -1041,7 +1111,7 @@ models: - dbt_utils.not_null_proportion: at_least: 0.05 - name: id_proposicao - description: ID proposição + description: ID da proposição tests: - dbt_utils.not_null_proportion: at_least: 0.05 @@ -1052,10 +1122,10 @@ models: ter estrutura própria na Câmara. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [id] + combination_of_columns: [id_frente] columns: - - name: id - description: ID + - name: id_frente + description: ID da frente tests: - dbt_utils.not_null_proportion: at_least: 0.05 @@ -1114,11 +1184,7 @@ models: das frentes criadas a partir do ano de 2010, na legislatura 54. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - id_frente - - id_deputado - - titulo_deputado - - url_partido_deputado + combination_of_columns: [id_frente, id_deputado, titulo_deputado] columns: - name: id_frente description: ID da frente @@ -1219,3 +1285,340 @@ models: tests: - dbt_utils.not_null_proportion: at_least: 0.05 + - name: br_camara_dados_abertos__licitacao + description: Os identificadores internos e oficiais das licitações realizadas + a cada ano pela Câmara dos Deputados, juntos a diversas informações como modalidade + e tipo, situação, datas de publicação e abertura, valores estimados, contratados + e pagos até o momento, número de propostas recebidas, objeto da contratação + e quantidade de itens licitados. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: [id_licitacao] + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano_licitacao + description: Ano da licitação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ref('ano.ano') + - name: id_licitacao + description: ID da licitação + - name: ano_processo + description: Ano do processo + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ref('ano.ano') + - name: id_processo + description: Número do processo + - name: objeto + description: Objeto da licitação, ou seja, o que está sendo adquirido ou contratado + - name: modalidade + description: Modalidade de licitação (i.e Concorrência, Concurso, Pregão Eletrônico, + etc.) + - name: tipo + description: Tipo de licitação (i.e Maior Lance, Menor Preço, etc.) + - name: situacao + description: Situação da licitação (i.e Julgada, Fracassada, etc.) + - name: data_abertura + description: Data de abertura + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: ref('data.data') + - name: data_publicacao + description: Data de publicação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: ref('data.data') + - name: data_autorizacao + description: Data de autorização + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: ref('data.data') + - name: quantidade_item + description: Quantidade de itens ou lotes + - name: quantidade_unidade + description: Quantidade de unidades a serem adquiridas na licitação + - name: quantidade_proposta + description: Quantidade de propostas recebidas + - name: quantidade_contrato + description: Quantidade de contratatos resultantes + - name: valor_estimado + description: Valor estimado + - name: valor_contratado + description: Valor contratado + - name: valor_pago + description: Valor contratado + - name: br_camara_dados_abertos__licitacao_contrato + description: Os dados principais dos contratos que os vencedores de cada licitação + estabeleceram junto à Câmara dos Deputados, separados por ano de realização + das licitações. As informações incluem os identificadores dos contratos e dos + fornecedores, a situação atual do contrato, datas de assinatura, publicação, + vigência e extensão, os valores acertados inicialmente e os valores efetivos + até o momento (que podem ser diferentes devido a pagamentos ainda não realizados + ou a aditivos e rescisões, por exemplo). + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: [id_licitacao, id_contrato, valor_total] + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano_licitacao + description: Ano da licitação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ref('ano.ano') + - name: id_licitacao + description: ID da licitação + - name: ano_contrato + description: Ano do contrato + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ref('ano.ano') + - name: id_contrato + description: ID do contrato + - name: tipo_contrato + description: Tipo do contrato + - name: situacao_contrato + description: Situação do contrato + - name: descricao + description: Descrição + - name: data_assinatura + description: Data de assinatura do contrato + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: ref('data.data') + - name: data_publicacao + description: Data de publicação do contrato + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: ref('data.data') + - name: data_inicio_contrato + description: Data de início da vigência original do contrato + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: ref('data.data') + - name: data_fim_contrato + description: Data de término da vigência original do contrato + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: ref('data.data') + - name: data_fim_ultima_vigencia + description: Data de término da última vigência + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: ref('data.data') + - name: nome_fornecedor + description: Nome do fornecedor + - name: endereco_fornecedor + description: endereço do fornecedor + - name: cidade_fornecedor + description: cidade do fornecedor + - name: sigla_uf_fornecedor + description: Sigla da Unidade da Federação do fornecedor + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: ref('sigla') + - name: cpf_cnpj_fornecedor + description: CPF ou CNPJ do fornecedor + - name: valor_original + description: Valor original + - name: valor_total + description: Valor total + - name: br_camara_dados_abertos__licitacao_item + description: As licitações da Câmara especificam e buscam adquirir um ou mais + iten(s), que pode(m) ser um produto ou serviço isolado ou, na verdade, lote(s) + de sub-itens. Este conjunto de arquivos traz o detalhamento dos objetos de cada + licitação, conforme o ano de sua realização. As informações incluem descrição + e especificação, a quantidade licitada e o preço estimado, observações feitas + durante o processo, e, se a licitação já ocorreu, a quantidade realmente contratada + e por quais valores, bem como os dados básicos do fornecedor de cada produto. + É importante observar que uma mesma licitação pode ser atendida por mais de + um fornecedor. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - id_licitacao + - id_item + - id_sub_item + - id_contrato + - cpf_cnpj_fornecedor + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano_licitacao + description: Ano da licitação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ref('ano.ano') + - name: id_licitacao + description: ID da licitação + - name: id_item + description: Número do item + - name: id_sub_item + description: Número do subitem + - name: descricao + description: Descrição + - name: especificacao + description: Detalhes adicionais sobre o item + - name: unidade + description: Unidade de medida do item + - name: quantidade_licitada + description: Quantidade do item + - name: valor_unitario_estimado + description: Valor unitário estimado do item + - name: quantidade_contratada + description: Quantidade contratada + - name: valor_unitario_contratado + description: Valor unitário do contrato + - name: valor_total_contratado + description: Valor total contratada + - name: cpf_cnpj_fornecedor + description: CPF ou CNPJ do fornecedor + - name: nome_fornecedor + description: Nome do fornecedor + - name: id_contrato + description: ID do contrato + - name: ano_contrato + description: Ano do contrato + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ref('ano.ano') + - name: tipo_contrato + description: Tipo do contrato + - name: situacao_item + description: Situação do item + - name: observacao + description: Observações adicionais sobre o item ou contrato + - name: natureza_despesa + description: Natureza da despesa + - name: programa_trabalho + description: Programa de trabalho ao qual a despesa está vinculada + - name: br_camara_dados_abertos__licitacao_pedido + description: O Departamento de Material e Patrimônio da Câmara realiza uma licitação + para atender a um ou mais pedido(s) de aquisição de produtos ou serviços, feitos + por um ou mais órgão(s) da Casa. Este conjunto de arquivos traz informações + sobre os pedidos que levaram a cada licitação realizada em um determinado ano. + Os dados incluem o órgão solicitante, identificadores e objeto de cada pedido, + e as observações feitas por solicitantes ou analistas antes de se iniciarem + os processos licitatórios. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - id_licitacao + - id_pedido + - id_orgao + - observacao + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano_licitacao + description: Ano da licitação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ref('ano.ano') + - name: id_licitacao + description: ID da licitação + - name: tipo_registo + description: Tipo de registro + - name: ano_pedido + description: Ano do pedido + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ref('ano.ano') + - name: id_pedido + description: Número do pedido + - name: data_cadastro + description: Data de cadastro + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: ref('data.data') + - name: horario_cadastro + description: Horário de cadastro + - name: id_orgao + description: ID do orgão + - name: orgao + description: Orgão + - name: descricao + description: Descrição + - name: observacao + description: Informações adicionarios + - name: br_camara_dados_abertos__licitacao_proposta + description: As empresas interessadas em participar de uma licitação da Câmara + fazem suas ofertas na forma de propostas discriminadas para cada item licitado. + Este conjunto de arquivos, organizados por ano de realização das licitações, + traz as informações estruturadas mais importantes sobre as propostas apresentadas + para cada item de cada licitação. Identificação do possível fornecedor, situação + de cada um para participar ou não do certame, marcas, quantidades e valores + ofertados por item da licitação, e eventuais observações registradas ao longo + do processo. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - id_licitacao + - descricao + - quantidade_unidade_licitacao + - valor_estimado + - id_proposta + - unidade_proposta + - valor_proposta + - marca_proposta + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano da licitação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ref('ano.ano') + - name: id_licitacao + description: ID da licitação + - name: descricao + description: Descrição + - name: quantidade_unidade_licitacao + description: Quantidade de unidades que estão sendo licitadas para o item + - name: valor_estimado + description: Valor estimado + - name: unidade_proposta + description: Quantidade de unidades propostas pelo fornecedor + - name: valor_proposta + description: Valor da proposta + - name: id_proposta + description: ID da proposta + - name: marca_proposta + description: Marca da proposta + - name: cpf_cnpj_fornecedor + description: CPF ou CNPJ do fornecedor + - name: fornecedor_situacao + description: Situação do fornecedor + - name: data_proposta + description: Data da proposta + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: ref('data.data') + - name: validade_proposta + description: Validade da proposta + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__dia') + field: ref('dia.dia')