Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[dados]br_tse_filiacao_partidaria.microdados #796

Merged
merged 1 commit into from
Nov 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{{
config(
schema="br_tse_filiacao_partidaria",
alias="microdados",
materialized="table",
unique_key="registro_filiacao",
partition_by={
"field": "data_extracao",
"data_type": "date",
},
cluster_by=["sigla_uf"],
)
}}
with
tabela as (
select
safe_cast(sqregistrofiliacao as string) registro_filiacao,
safe_cast(sgpartido as string) sigla_partido,
safe_cast(sigla_uf as string) sigla_uf,
safe_cast(id_municipio as string) id_municipio,
safe_cast(codlocalidadetse as string) id_municipio_tse,
safe_cast(numzona as string) zona,
safe_cast(numsecao as string) secao,
safe_cast(nrtituloeleitor as string) titulo_eleitor,
safe_cast(numcpf as string) cpf,
safe_cast(nmeleitor as string) nome,
safe_cast(nmsocialeleitor as string) nome_social,
safe_cast(tpsexo as string) sexo,
safe_cast(dessituacaoeleitor as string) situacao_registro,
safe_cast(cdmotivodesfiliacao as string) motivo_desfiliacao,
safe_cast(cdmotivocancelamento as string) motivo_cancelamento,
safe_cast(indorigem as string) indicador_origem,
safe_cast(dtfiliacao as date) data_filiacao,
safe_cast(dtdesfiliacao as date) data_desfiliacao,
safe_cast(tscadastrodesfiliacao as date) data_cadastro_desfiliacao,
safe_cast(dtcancelamento as date) data_cancelamento,
safe_cast(dtexclusao as date) data_exclusao,
safe_cast(data_extracao as date) data_extracao,
from `basedosdados-staging.br_tse_filiacao_partidaria_staging.microdados`
),
select_rows as (
select
*,
row_number() over (
partition by registro_filiacao order by data_extracao desc
) as rn
from tabela
)
select * except (rn)
from select_rows
where rn = 1
97 changes: 96 additions & 1 deletion models/br_tse_filiacao_partidaria/schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
version: 2
models:
- name: br_tse_filiacao_partidaria__microdados_antigos
description: Microdados de filiação partidária do TSE.
description: Microdados antigos de filiação partidária do TSE.
tests:
- custom_not_null_proportion_multiple_columns:
at_least: 0.10
Expand Down Expand Up @@ -69,3 +69,98 @@ models:
field: data.data
- name: motivo_cancelamento
description: Motivo de cancelamento
- name: br_tse_filiacao_partidaria__microdados
description: Microdados de filiação partidária do TSE.
tests:
- custom_not_null_proportion_multiple_columns:
at_least: 0.55
ignore_values:
- data_desfiliacao
- data_exclusao
- data_cadastro_desfiliacao
- motivo_desfiliacao
- motivo_cancelamento
- data_cancelamento
- nome_social
- dbt_utils.unique_combination_of_columns:
combination_of_columns: [registro_filiacao]
columns:
- name: registro_filiacao
description: Sequecia do registro filiação
- name: sigla_partido
description: Sigla do partido
- name: sigla_uf
description: Sigla da unidade da federação
tests:
- custom_relationships:
to: ref('br_bd_diretorios_brasil__uf')
field: sigla
ignore_values: [ZZ]
- 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
- name: zona
description: Zona eleitoral
- name: secao
description: Seção eleitoral
- name: titulo_eleitor
description: Título de eleitor
- name: cpf
description: Cadastro de pessoa física
- name: nome
description: Nome do eleitor
- name: nome_social
description: Nome social do eleitor
- name: sexo
description: Sexo
- name: situacao_registro
description: Situação do registro
- name: motivo_desfiliacao
description: Código do motivo da desfiliação. Não foi encontrada na documentação
a tradução deste código
- name: motivo_cancelamento
description: Código do motivo de cancelamento. Não foi encontrada na documentação
a tradução deste código
- name: indicador_origem
description: Não foi encontrado uma definição na documentação para este campo
- name: data_filiacao
description: Data da filiação
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_desfiliacao
description: Data de desfiliação
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_cadastro_desfiliacao
description: Data do cadastro da desfiliação
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_cancelamento
description: Data de cancelamento
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_exclusao
description: Data de exclusão
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_extracao
description: Data de extração da linha
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
Loading