diff --git a/models/br_tse_eleicoes/br_tse_eleicoes__despesas_candidato.sql b/models/br_tse_eleicoes/br_tse_eleicoes__despesas_candidato.sql index 0f1ca3cc..a99fb357 100644 --- a/models/br_tse_eleicoes/br_tse_eleicoes__despesas_candidato.sql +++ b/models/br_tse_eleicoes/br_tse_eleicoes__despesas_candidato.sql @@ -1,65 +1,65 @@ -{{ - config( - schema="br_tse_eleicoes", - alias="despesas_candidato", - materialized="table", - partition_by={ - "field": "ano", - "data_type": "int64", - "range": {"start": 2002, "end": 2024, "interval": 2}, - }, - ) -}} - -select - safe_cast(ano as int64) ano, - safe_cast(turno as int64) turno, - safe_cast(id_eleicao as string) id_eleicao, - safe_cast(tipo_eleicao as string) tipo_eleicao, - safe_cast(data_eleicao as date) data_eleicao, - safe_cast(sigla_uf as string) sigla_uf, - safe_cast(id_municipio as string) id_municipio, - safe_cast(id_municipio_tse as string) id_municipio_tse, - safe_cast(numero_candidato as string) numero_candidato, - safe_cast(cpf_candidato as string) cpf_candidato, - safe_cast(sequencial_candidato as string) sequencial_candidato, - safe_cast(id_candidato_bd as string) id_candidato_bd, - safe_cast(nome_candidato as string) nome_candidato, - safe_cast(cpf_vice_suplente as string) cpf_vice_suplente, - safe_cast(numero_partido as string) numero_partido, - safe_cast(sigla_partido as string) sigla_partido, - safe_cast(nome_partido as string) nome_partido, - safe_cast(cargo as string) cargo, - safe_cast(sequencial_despesa as string) sequencial_despesa, - safe_cast(data_despesa as date) data_despesa, - safe_cast(tipo_despesa as string) tipo_despesa, - safe_cast(descricao_despesa as string) descricao_despesa, - safe_cast(origem_despesa as string) origem_despesa, - safe_cast(valor_despesa as float64) valor_despesa, - safe_cast(tipo_prestacao_contas as string) tipo_prestacao_contas, - safe_cast(data_prestacao_contas as date) data_prestacao_contas, - safe_cast(sequencial_prestador_contas as string) sequencial_prestador_contas, - safe_cast(cnpj_prestador_contas as string) cnpj_prestador_contas, - safe_cast(cnpj_candidato as string) cnpj_candidato, - safe_cast(tipo_documento as string) tipo_documento, - safe_cast(numero_documento as string) numero_documento, - safe_cast(especie_recurso as string) especie_recurso, - safe_cast(fonte_recurso as string) fonte_recurso, - safe_cast(cpf_cnpj_fornecedor as string) cpf_cnpj_fornecedor, - safe_cast(nome_fornecedor as string) nome_fornecedor, - safe_cast(nome_fornecedor_rf as string) nome_fornecedor_rf, - safe_cast(cnae_2_fornecedor as string) cnae_2_fornecedor, - safe_cast(descricao_cnae_2_fornecedor as string) descricao_cnae_2_fornecedor, - safe_cast(tipo_fornecedor as string) tipo_fornecedor, - safe_cast(esfera_partidaria_fornecedor as string) esfera_partidaria_fornecedor, - safe_cast(sigla_uf_fornecedor as string) sigla_uf_fornecedor, - safe_cast(id_municipio_tse_fornecedor as string) id_municipio_tse_fornecedor, - safe_cast( - sequencial_candidato_fornecedor as string - ) sequencial_candidato_fornecedor, - safe_cast(numero_candidato_fornecedor as string) numero_candidato_fornecedor, - safe_cast(numero_partido_fornecedor as string) numero_partido_fornecedor, - safe_cast(sigla_partido_fornecedor as string) sigla_partido_fornecedor, - safe_cast(nome_partido_fornecedor as string) nome_partido_fornecedor, - safe_cast(cargo_fornecedor as string) cargo_fornecedor -from `basedosdados-dev.br_tse_eleicoes_staging.despesas_candidato` as t +{{ + config( + schema="br_tse_eleicoes", + alias="despesas_candidato", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 2002, "end": 2024, "interval": 2}, + }, + ) +}} + +select + safe_cast(ano as int64) ano, + safe_cast(turno as int64) turno, + safe_cast(id_eleicao as string) id_eleicao, + safe_cast(tipo_eleicao as string) tipo_eleicao, + safe_cast(data_eleicao as date) data_eleicao, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(id_municipio as string) id_municipio, + safe_cast(id_municipio_tse as string) id_municipio_tse, + safe_cast(numero_candidato as string) numero_candidato, + safe_cast(cpf_candidato as string) cpf_candidato, + safe_cast(sequencial_candidato as string) sequencial_candidato, + safe_cast(id_candidato_bd as string) id_candidato_bd, + safe_cast(nome_candidato as string) nome_candidato, + safe_cast(cpf_vice_suplente as string) cpf_vice_suplente, + safe_cast(numero_partido as string) numero_partido, + safe_cast(sigla_partido as string) sigla_partido, + safe_cast(nome_partido as string) nome_partido, + safe_cast(cargo as string) cargo, + safe_cast(sequencial_despesa as string) sequencial_despesa, + safe_cast(data_despesa as date) data_despesa, + safe_cast(tipo_despesa as string) tipo_despesa, + safe_cast(descricao_despesa as string) descricao_despesa, + safe_cast(origem_despesa as string) origem_despesa, + safe_cast(valor_despesa as float64) valor_despesa, + safe_cast(tipo_prestacao_contas as string) tipo_prestacao_contas, + safe_cast(data_prestacao_contas as date) data_prestacao_contas, + safe_cast(sequencial_prestador_contas as string) sequencial_prestador_contas, + safe_cast(cnpj_prestador_contas as string) cnpj_prestador_contas, + safe_cast(cnpj_candidato as string) cnpj_candidato, + safe_cast(tipo_documento as string) tipo_documento, + safe_cast(numero_documento as string) numero_documento, + safe_cast(especie_recurso as string) especie_recurso, + safe_cast(fonte_recurso as string) fonte_recurso, + safe_cast(cpf_cnpj_fornecedor as string) cpf_cnpj_fornecedor, + safe_cast(nome_fornecedor as string) nome_fornecedor, + safe_cast(nome_fornecedor_rf as string) nome_fornecedor_rf, + safe_cast(cnae_2_fornecedor as string) cnae_2_fornecedor, + safe_cast(descricao_cnae_2_fornecedor as string) descricao_cnae_2_fornecedor, + safe_cast(tipo_fornecedor as string) tipo_fornecedor, + safe_cast(esfera_partidaria_fornecedor as string) esfera_partidaria_fornecedor, + safe_cast(sigla_uf_fornecedor as string) sigla_uf_fornecedor, + safe_cast(id_municipio_tse_fornecedor as string) id_municipio_tse_fornecedor, + safe_cast( + sequencial_candidato_fornecedor as string + ) sequencial_candidato_fornecedor, + safe_cast(numero_candidato_fornecedor as string) numero_candidato_fornecedor, + safe_cast(numero_partido_fornecedor as string) numero_partido_fornecedor, + safe_cast(sigla_partido_fornecedor as string) sigla_partido_fornecedor, + safe_cast(nome_partido_fornecedor as string) nome_partido_fornecedor, + safe_cast(cargo_fornecedor as string) cargo_fornecedor +from `basedosdados-dev.br_tse_eleicoes_staging.despesas_candidato` as t diff --git a/models/br_tse_eleicoes/br_tse_eleicoes__receitas_candidato.sql b/models/br_tse_eleicoes/br_tse_eleicoes__receitas_candidato.sql index acdbe978..efe35468 100644 --- a/models/br_tse_eleicoes/br_tse_eleicoes__receitas_candidato.sql +++ b/models/br_tse_eleicoes/br_tse_eleicoes__receitas_candidato.sql @@ -6,15 +6,16 @@ partition_by={ "field": "ano", "data_type": "int64", - "range": {"start": 2002, "end": 2022, "interval": 2}, + "range": {"start": 2002, "end": 2024, "interval": 2}, }, ) }} - select safe_cast(ano as int64) ano, safe_cast(turno as int64) turno, + safe_cast(id_eleicao as string) id_eleicao, safe_cast(tipo_eleicao as string) tipo_eleicao, + safe_cast(data_eleicao as date) data_eleicao, safe_cast(sigla_uf as string) sigla_uf, safe_cast(id_municipio as string) id_municipio, safe_cast(id_municipio_tse as string) id_municipio_tse, @@ -65,7 +66,7 @@ select safe_cast(numero_recibo_doacao as string) numero_recibo_doacao, safe_cast(numero_documento_doacao as string) numero_documento_doacao, safe_cast(tipo_prestacao_contas as string) tipo_prestacao_contas, - safe_cast(data_prestacao_contas as string) data_prestacao_contas, + safe_cast(data_prestacao_contas as date) data_prestacao_contas, safe_cast(sequencial_prestador_contas as string) sequencial_prestador_contas, safe_cast(cnpj_prestador_contas as string) cnpj_prestador_contas, safe_cast(entrega_conjunto as string) entrega_conjunto diff --git a/models/br_tse_eleicoes/schema.yml b/models/br_tse_eleicoes/schema.yml index b718ba12..262e4359 100644 --- a/models/br_tse_eleicoes/schema.yml +++ b/models/br_tse_eleicoes/schema.yml @@ -146,6 +146,10 @@ models: field: sigla - name: sigla_uf_nascimento description: Sigla da unidade da federação de nascimento + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla - name: situacao description: Situação - name: tipo_eleicao @@ -167,10 +171,6 @@ models: description: Cargo do fornecedor - name: cnae_2_fornecedor description: Classificação Nacional de Atividades Econômicas 2.0 do fornecedor - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__cnae_2') - field: cnae_2.classe - name: cnpj_candidato description: CNPJ do candidato - name: cnpj_prestador_contas @@ -184,9 +184,19 @@ models: - name: data_despesa description: Data da despesa tests: - - relationships: + - custom_relationships: to: ref('br_bd_diretorios_data_tempo__data') field: data.data + ignore_values: + - '8200-02-20' + - '8008-09-05' + - '8200-08-02' + - '6200-09-06' + - '6200-09-30' + - '7200-08-21' + - '8006-09-29' + - '9200-05-05' + - '5919-11-11' - name: data_eleicao description: Data da eleição tests: @@ -270,8 +280,17 @@ models: description: Sigla do partido do fornecedor - name: sigla_uf description: Sigla da unidade da federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla - name: sigla_uf_fornecedor description: Sigla da unidade da federação do fornecedor + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + ignore_values: [BR] - name: tipo_despesa description: Tipo da despesa - name: tipo_documento @@ -695,9 +714,6 @@ models: description: Zona eleitoral - name: br_tse_eleicoes__receitas_candidato description: Dados de financiamento de campanha de receita para candidatos. - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 columns: - name: ano description: Ano @@ -725,8 +741,18 @@ models: description: CPF ou CNPJ do doador originário - name: cpf_vice_suplente description: CPF do vice ou suplente + - name: data_eleicao + description: Data da eleição + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data - name: data_prestacao_contas description: Data de prestação de contas + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data - name: data_receita description: Data da receita - name: descricao_cnae_2_doador @@ -747,12 +773,28 @@ models: description: Fonte da receita - name: id_candidato_bd description: ID Candidato - Base dos Dados + - name: id_eleicao + description: ID Eleição - name: id_municipio description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio - name: id_municipio_tse description: ID Município - TSE + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio_tse + ignore_values: ['73709'] - name: id_municipio_tse_doador description: ID Município do doador - TSE + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio_tse + ignore_values: ['73709'] - name: natureza_receita description: Natureza da receita - name: nome_administrador @@ -803,6 +845,10 @@ models: description: Sigla do partido do doador - name: sigla_uf description: Sigla da unidade da federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla - name: sigla_uf_doador description: Sigla da unidade da federação do doador - name: situacao_receita