Skip to content

Commit

Permalink
add model dbt cgu cartao pagamento
Browse files Browse the repository at this point in the history
  • Loading branch information
tricktx committed Sep 18, 2024
1 parent c637a29 commit d230e8b
Show file tree
Hide file tree
Showing 6 changed files with 331 additions and 0 deletions.
3 changes: 3 additions & 0 deletions dbt_project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,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

0 comments on commit d230e8b

Please sign in to comment.