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

[dbt]br_tse_filiacao_partidaria__microdados_antigos, novo custom_test e macro #791

Merged
merged 2 commits into from
Oct 18, 2024

Conversation

Winzen
Copy link
Collaborator

@Winzen Winzen commented Oct 11, 2024

Objetivos:

br_tse_filiacao_partidaria

Tabela Linhas Materialização
microdados_antigos 24666625 2.67 GB

Detalhe dos testes

Coluna: id_municipio_tse

Teste: relationships Diretorio Alvo: br_bd_diretorios_brasil.municipio

Situação: Temos 130 ids que não se relacionam com o nosso diretorio. Todos eles aparecem como ids referente alguma localização estranhageira.

Solução: Remoção do teste enquanto não for insertido os ids faltantes.

Query:

with child as (
    select id_municipio_tse as from_field
    from `basedosdados-dev`.`br_tse_filiacao_partidaria`.`microdados_antigos`
    where id_municipio_tse is not null
),
parent as (
    select id_municipio_tse as to_field
    from `basedosdados`.`br_bd_diretorios_brasil`.`municipio`
), falhas as (
  select
    distinct from_field

from child
left join parent
    on child.from_field = parent.to_field

where parent.to_field is null
)

select distinct sigla_uf
from `basedosdados-dev`.`br_tse_filiacao_partidaria`.`microdados_antigos`
where id_municipio_tse in (select * from falhas)

Coluna: sigla_uf

Teste: custom_relationships Diretorio Alvo: br_bd_diretorios_brasil.uf

Situação: Sigla 'ZZ' não se encontra no diretorio.

Solução: Colocar 'ZZ' dentro dos valores a serém ignorados dentro do teste

Query:

with child as (
    select sigla_uf as from_field
    from `basedosdados-dev`.`br_tse_filiacao_partidaria`.`microdados_antigos`
    where sigla_uf is not null
),

parent as (
    select sigla as to_field
    from `basedosdados-dev`.`br_bd_diretorios_brasil`.`uf`
)

select
    distinct from_field

from child
left join parent
    on child.from_field = parent.to_field

where parent.to_field is null

Aplicação validate_date_range

Nas colunas com datas tínhamos valores muito fora da realidade, foi aplicado um filtro para validar datas entre 1980 à o atual ano.
Anteriormente tinha como Max data o 9990-12-02 depois do validate_date_range temo o 2023-10-01
Anteriormente tinha como Min data o 0001-01-01 depois do validate_date_range temo o 1980-01-01

Coluna Vazios Pre validate_date_range Vazios Pos validate_date_range Acrescimo De Vazios
data_filiacao 0 140492 140492
data_regularizacao 24657353 24657353 0
data_processamento 21702269 21702269 0
data_desfiliacao 21137932 21139903 1971
data_cancelamento 18165572 18166139 567

custom_not_null_proportion_multiple_columns

Coluna data_regularizacao tem menos de 1% de preenchimento e foi colocada como coluna a ser ignorada pelo teste

coluna validos vazios total porcentagem_vazio
data_regularizacao 9272 24657353 24666625 0.9996
data_processamento 2964356 21702269 24666625 0.8798
data_desfiliacao 3526722 21139903 24666625 0.857
motivo_cancelamento 5183219 19483406 24666625 0.7899
data_cancelamento 6500486 18166139 24666625 0.7365

CSV com preenchimento completo da tabela ➡️ 📁

Teste: unique_combination_of_columns

Situação: Apos aplicação do filtro de validação de datas entre 1980 à atual, existem data_filiacao que são nulos. O que faz ter linhas duplicadas. Invalidando o teste de unique_combination_of_columns

Query:

Podemos ver com a query abaixo que a única coisa que diferencia entre algumas linhas da consulta é a data_filiacao. (Dados antes de qualquer tratamento)

select *
FROM `basedosdados-dev.br_tse_filiacao_partidaria_staging.microdados_antigos`
where titulo_eleitoral = "018345602739"

@Winzen Winzen added table-approve Trigger action table-approve test-dev-model Trigger action test-dev-model hacktoberfest-accepted Pull Requests aprovados na Hacktoberfest labels Oct 11, 2024
@Winzen Winzen self-assigned this Oct 11, 2024
@Winzen Winzen requested a review from a team October 11, 2024 05:14
@Winzen Winzen linked an issue Oct 11, 2024 that may be closed by this pull request
@Winzen Winzen changed the title [dbt]br_tse_filiacao_partidaria__microdados, novo custom_test e macro [dbt]br_tse_filiacao_partidaria__microdados_antigos, novo custom_test e macro Oct 11, 2024
@laura-l-amaral laura-l-amaral linked an issue Oct 11, 2024 that may be closed by this pull request
4 tasks
@Winzen Winzen merged commit 4919f5a into main Oct 18, 2024
3 checks passed
@Winzen Winzen deleted the staging/br_tse_filiacao_partidaria__microdados_antigos branch October 18, 2024 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hacktoberfest-accepted Pull Requests aprovados na Hacktoberfest table-approve Trigger action table-approve test-dev-model Trigger action test-dev-model
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incluir excessões em not_null_multiple_columns [dados] Atualizar br_tse_filiacao_partidaria
2 participants