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_cgu_cartao_pagamento #776

Merged
merged 2 commits into from
Sep 18, 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
3 changes: 3 additions & 0 deletions dbt_project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@ models:
br_cgu_beneficios_cidadao:
+materialized: table
+schema: br_cgu_beneficios_cidadao
br_cgu_cartao_pagamento:
+materialized: table
+schema: br_cgu_cartao_pagamento
br_cgu_dados_abertos:
+materialized: table
+schema: br_cgu_dados_abertos
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{{
config(
alias="dicionario", schema="br_cgu_cartao_pagamento", materialized="table"
)
}}

select
safe_cast(id_tabela as string) id_tabela,
safe_cast(nome_coluna as string) nome_coluna,
safe_cast(trim(chave) as string) chave,
safe_cast(cobertura_temporal as string) cobertura_temporal,
safe_cast(valor as string) valor,
from `basedosdados.br_cgu_cartao_pagamento_staging.dicionario` as t
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{{
config(
alias="microdados_compras_centralizadas",
schema="br_cgu_cartao_pagamento",
materialized="table",
)
}}
select
safe_cast(ano_extrato as int64) ano_extrato,
safe_cast(mes_extrato as int64) mes_extrato,
safe_cast(codigo_orgao_superior as string) codigo_orgao_superior,
initcap(nome_orgao_superior) nome_orgao_superior,
safe_cast(codigo_orgao as string) codigo_orgao,
initcap(nome_orgao) nome_orgao,
safe_cast(codigo_unidade_gestora as string) codigo_unidade_gestora,
initcap(nome_unidade_gestora) nome_unidade_gestora,
safe_cast(tipo_aquisicao as string) tipo_aquisicao,
case
when cnpj_ou_cpf_favorecido = '-2'
then 'NÃO SE APLICA'
when cnpj_ou_cpf_favorecido = '-11'
then 'Sigiloso'
when cnpj_ou_cpf_favorecido = '-1'
then 'SEM INFORMACAO'
else cnpj_ou_cpf_favorecido
end as cnpj_cpf_favorecido,
initcap(nome_favorecido) nome_favorecido,
safe_cast(transacao as string) transacao,
parse_date("%d/%m/%Y", data_transacao) data_transacao,
safe_cast(valor_transacao as float64) valor_transacao,
from
`basedosdados.br_cgu_cartao_pagamento_staging.microdados_compras_centralizadas` as t
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{{
config(
alias="microdados_defesa_civil",
schema="br_cgu_cartao_pagamento",
materialized="table",
)
}}

select
safe_cast(ano_extrato as int64) ano_extrato,
safe_cast(mes_extrato as int64) mes_extrato,
safe_cast(codigo_orgao_superior as string) codigo_orgao_superior,
initcap(nome_orgao_superior) nome_orgao_superior,
safe_cast(codigo_orgao as string) codigo_orgao,
initcap(nome_orgao) nome_orgao,
safe_cast(codigo_unidade_gestora as string) codigo_unidade_gestora,
initcap(nome_unidade_gestora) nome_unidade_gestora,
safe_cast(cpf_portador as string) cpf_portador,
initcap(nome_portador) nome_portador,
case
when cnpj_ou_cpf_favorecido = '-2'
then initcap('NÃO SE APLICA')
when cnpj_ou_cpf_favorecido = '-11'
then initcap('Sigiloso')
when cnpj_ou_cpf_favorecido = '-1'
then initcap('SEM INFORMACAO')
else initcap(cnpj_ou_cpf_favorecido)
end as cnpj_cpf_favorecido,
initcap(nome_favorecido) nome_favorecido,
safe_cast(executor_despesa as string) executor_despesa,
safe_cast(numero_convenio as string) numero_convenio,
safe_cast(codigo_convenente as string) codigo_convenente,
initcap(nome_convenente) nome_convenente,
safe_cast(repasse as string) repasse,
safe_cast(transacao as string) transacao,
parse_date("%d/%m/%Y", data_transacao) data_transacao,
safe_cast(valor_transacao as float64) valor_transacao,
from `basedosdados.br_cgu_cartao_pagamento_staging.microdados_defesa_civil` as t
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{{
config(
alias="microdados_governo_federal",
schema="br_cgu_cartao_pagamento",
materialized="table",
)
}}

select
safe_cast(ano_extrato as int64) ano_extrato,
safe_cast(mes_extrato as int64) mes_extrato,
safe_cast(codigo_orgao_superior as string) codigo_orgao_superior,
initcap(nome_orgao_superior) nome_orgao_superior,
safe_cast(codigo_orgao as string) codigo_orgao,
initcap(nome_orgao) nome_orgao,
safe_cast(codigo_unidade_gestora as string) codigo_unidade_gestora,
initcap(nome_unidade_gestora) nome_unidade_gestora,
safe_cast(cpf_portador as string) cpf_portador,
initcap(nome_portador) nome_portador,
case
when cnpj_ou_cpf_favorecido = '-2'
then 'NÃO SE APLICA'
when cnpj_ou_cpf_favorecido = '-11'
then 'Sigiloso'
when cnpj_ou_cpf_favorecido = '-1'
then 'SEM INFORMACAO'
else cnpj_ou_cpf_favorecido
end as cnpj_cpf_favorecido,
initcap(nome_favorecido) nome_favorecido,
safe_cast(transacao as string) transacao,
parse_date("%d/%m/%Y", data_transacao) data_transacao,
safe_cast(valor_transacao as float64) valor_transacao,
from `basedosdados.br_cgu_cartao_pagamento_staging.microdados_governo_federal` as t
212 changes: 212 additions & 0 deletions models/br_cgu_cartao_pagamento/schema.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
---
version: 2
models:
- name: br_cgu_cartao_pagamento__microdados_governo_federal
description: O Cartão de Pagamento do Governo Federal (CPGF) é um meio de pagamento
utilizado pelo governo que funciona de forma similar ao cartão de crédito que
utilizamos em nosso dia a dia, porém dentro de limites e regras específicas.
tests:
- not_null_proportion_multiple_columns:
at_least: 0.80
- custom_dictionary_coverage:
columns_covered_by_dictionary: [transacao]
dictionary_model: ref('br_cgu_cartao_pagamento__dicionario')
columns:
- name: ano_extrato
description: Ano do extrato de transações
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__ano')
field: ano.ano
- name: mes_extrato
description: Mês do extrato de transações
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__mes')
field: mes.mes
- name: codigo_orgao_superior
description: Código do Órgão Superior da unidade gestora em nome da qual foi
gerado o cartão.
- name: nome_orgao_superior
description: Nome do Órgão Superior da unidade gestora em nome da qual foi
gerado o cartão.
- name: codigo_orgao
description: Código do Órgão Subordinado da unidade gestora em nome da qual
foi gerado o cartão
- name: nome_orgao
description: Nome do Órgão Subordinado da unidade gestora em nome da qual
foi gerado o cartão.
- name: codigo_unidade_gestora
description: Código da Unidade Gestora em nome da qual foi gerado o cartão.
- name: nome_unidade_gestora
description: Nome da Unidade Gestora
- name: cpf_portador
description: CPF do portador do cartão utilizado na realização da transação
- name: nome_portador
description: Nome do portador do cartão utilizado na realização da transação
- name: cnpj_cpf_favorecido
description: CNPJ do estabelecimento ou CPF da pessoa física que recebeu o
pagamento
- name: nome_favorecido
description: Nome do estabelecimento ou da pessoa física que recebeu o pagamento
- name: transacao
description: Operação efetuada pelo Portador junto ao Afiliado ou Contratado,
mediante utilização do CPGF realizada com o cartão
- name: data_transacao
description: Data em que a transação foi efetuada
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: valor_transacao
description: Valor da transação realizada com o cartão
- name: br_cgu_cartao_pagamento__microdados_compras_centralizadas
description: Refere-se aos pagamentos realizados através de compras centralizadas,
ou seja, aquisições feitas de forma coordenada por um único órgão ou entidade
para beneficiar diversas áreas da administração pública.
tests:
- not_null_proportion_multiple_columns:
at_least: 0.80
- custom_dictionary_coverage:
columns_covered_by_dictionary: [transacao]
dictionary_model: ref('br_cgu_cartao_pagamento__dicionario')
columns:
- name: ano_extrato
description: Ano do extrato de transações
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__ano')
field: ano.ano
- name: mes_extrato
description: Mês do extrato de transações
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__mes')
field: mes.mes
- name: codigo_orgao_superior
description: Código do Órgão Superior da unidade gestora em nome da qual foi
gerado o cartão.
- name: nome_orgao_superior
description: Nome do Órgão Superior da unidade gestora em nome da qual foi
gerado o cartão.
- name: codigo_orgao
description: Código do Órgão Subordinado da unidade gestora em nome da qual
foi gerado o cartão
- name: nome_orgao
description: Nome do Órgão Subordinado da unidade gestora em nome da qual
foi gerado o cartão.
- name: codigo_unidade_gestora
description: Código da Unidade Gestora em nome da qual foi gerado o cartão.
- name: nome_unidade_gestora
description: Nome da Unidade Gestora
- name: tipo_aquisicao
description: Tipo de aquisição
- name: cnpj_cpf_favorecido
description: CNPJ do estabelecimento ou CPF da pessoa física que recebeu o
pagamento
- name: nome_favorecido
description: Nome do estabelecimento ou da pessoa física que recebeu o pagamento
- name: transacao
description: Operação efetuada pelo Portador junto ao Afiliado ou Contratado,
mediante utilização do CPGF realizada com o cartão
- name: data_transacao
description: Data em que a transação foi efetuada
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: valor_transacao
description: Valor da transação realizada com o cartão
- name: br_cgu_cartao_pagamento__microdados_desfesa_civil
description: O Cartão de Pagamento de Defesa Civil (CPDC) é a forma exclusiva
para o pagamento de despesas com ações de resposta promovidas por governos estaduais,
do Distrito Federal e municipais com recursos transferidos pela União.
tests:
- not_null_proportion_multiple_columns:
at_least: 0.95
- custom_dictionary_coverage:
columns_covered_by_dictionary: [transacao]
dictionary_model: ref('br_cgu_cartao_pagamento__dicionario')
columns:
- name: ano_extrato
description: Ano do extrato de transações
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__ano')
field: ano.ano
- name: mes_extrato
description: Mês do extrato de transações
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__mes')
field: mes.mes
- name: codigo_orgao_superior
description: Código do Órgão Superior da unidade gestora em nome da qual foi
gerado o cartão.
- name: nome_orgao_superior
description: Nome do Órgão Superior da unidade gestora em nome da qual foi
gerado o cartão.
- name: codigo_orgao
description: Código do Órgão Subordinado da unidade gestora em nome da qual
foi gerado o cartão
- name: nome_orgao
description: Nome do Órgão Subordinado da unidade gestora em nome da qual
foi gerado o cartão.
- name: codigo_unidade_gestora
description: Código da Unidade Gestora em nome da qual foi gerado o cartão.
- name: nome_unidade_gestora
description: Nome da Unidade Gestora
- name: cpf_portador
description: CPF do portador do cartão utilizado na realização da transação
- name: nome_portador
description: Nome do portador do cartão utilizado na realização da transação
- name: cnpj_cpf_favorecido
description: CNPJ do estabelecimento ou CPF da pessoa física que recebeu o
pagamento
- name: nome_favorecido
description: Nome do estabelecimento ou da pessoa física que recebeu o pagamento
- name: executor_despesa
description: Executor da despesa com o CPDC
- name: numero_convenio
description: Número do convênio a que se refere a despesa
- name: codigo_convenente
description: Código do convenente do convênio a que se refere a despesa
- name: nome_convenente
description: Nome do convenente
- name: repasse
description: Indicador de repasse
- name: transacao
description: Operação efetuada pelo Portador junto ao Afiliado ou Contratado,
mediante utilização do CPGF realizada com o cartão
- name: data_transacao
description: Data em que a transação foi efetuada
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: valor_transacao
description: Valor da transação realizada com o cartão
- name: br_cgu_cartao_pagamento__dicionario
description: Dicionário para tradução dos códigos do conjunto br_cgu_cartao_pagamento.
Para taduzir códigos compartilhados entre instituições, como id_municipio, buscar
por diretórios
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns:
- id_tabela
- nome_coluna
- chave
- cobertura_temporal
- not_null_proportion_multiple_columns:
at_least: 0.05
columns:
- name: id_tabela
description: ID Tabela
- name: nome_coluna
description: Nome da coluna
- name: chave
description: Chave
- name: cobertura_temporal
description: Cobertura Temporal
- name: valor
description: Valor
Loading