Skip to content

Commit

Permalink
feat: add br_rf_cno models
Browse files Browse the repository at this point in the history
  • Loading branch information
folhesgabriel committed Aug 1, 2024
1 parent 7e7524d commit 237488c
Show file tree
Hide file tree
Showing 7 changed files with 301 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 @@ -315,6 +315,9 @@ models:
br_rf_cafir:
+materialized: table
+schema: br_rf_cafir
br_rf_cno:
+materialized: table
+schema: br_rf_cno
br_rj_isp_estatisticas_seguranca:
+materialized: table
+schema: br_rj_isp_estatisticas_seguranca
Expand Down
12 changes: 12 additions & 0 deletions models/br_rf_cno/br_rf_cno__areas.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{{ config(alias="areas", schema="br_rf_cno", materialized="table") }}

select
safe_cast(data as date) data_extracao,
safe_cast(id_cno as string) id_cno,
safe_cast(categoria as string) categoria,
safe_cast(destinacao as string) destinacao,
safe_cast(tipo_obra as string) tipo_obra,
safe_cast(tipo_area as string) tipo_area,
safe_cast(tipo_area_complementar as string) tipo_area_complementar,
safe_cast(metragem as float64) metragem,
from `basedosdados-staging.br_rf_cno_staging.areas` as t
7 changes: 7 additions & 0 deletions models/br_rf_cno/br_rf_cno__cnaes.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{{ config(alias="cnaes", schema="br_rf_cno", materialized="table") }}
select
safe_cast(data as date) data_extracao,
safe_cast(data_registro as date) data_registro,
safe_cast(id_cno as string) id_cno,
safe_cast(cnae_2_subclasse as string) cnae_2_subclasse,
from `basedosdados-staging.br_rf_cno_staging.cnaes` as t
8 changes: 8 additions & 0 deletions models/br_rf_cno/br_rf_cno__dicionario.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{{ config(alias="dicionario", schema="br_rf_cno", materialized="table") }}
select
safe_cast(id_tabela as string) id_tabela,
safe_cast(nome_coluna as string) nome_coluna,
safe_cast(chave as string) chave,
safe_cast(cobertura_temporal as string) cobertura_temporal,
safe_cast(valor as string) valor,
from `basedosdados-staging.br_rf_cno_staging.dicionario` as t
35 changes: 35 additions & 0 deletions models/br_rf_cno/br_rf_cno__microdados.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{{ config(alias="microdados", schema="br_rf_cno", materialized="table") }}

select
safe_cast(data as date) data_extracao,
safe_cast(data_situacao as date) data_situacao,
safe_cast(data_registro as date) data_registro,
safe_cast(data_inicio as date) data_inicio,
safe_cast(data_inicio_responsabilidade as date) data_inicio_responsabilidade,
safe_cast(id_pais as string) id_pais,
safe_cast(nome_pais as string) nome_pais,
safe_cast(sigla_uf as string) sigla_uf,
safe_cast(b.id_municipio as string) id_municipio,
safe_cast(id_cno as string) id_cno,
safe_cast(id_cno_vinculado as string) id_cno_vinculado,
safe_cast(ltrim(situacao, '0') as string) situacao,
safe_cast(id_responsavel as string) id_responsavel,
safe_cast(nome_responsavel as string) nome_responsavel,
safe_cast(ltrim(qualificacao_responsavel, '0') as string) qualificacao_responsavel,
safe_cast(nome_empresarial as string) nome_empresarial,
safe_cast(area as float64) area,
safe_cast(unidade_medida as string) unidade_medida,
safe_cast(bairro as string) bairro,
safe_cast(cep as string) cep,
safe_cast(logradouro as string) logradouro,
safe_cast(tipo_logradouro as string) tipo_logradouro,
safe_cast(numero_logradouro as string) numero_logradouro,
safe_cast(complemento as string) complemento,
safe_cast(caixa_postal as string) caixa_postal,
from `basedosdados-dev.staging_staging.microdados` microdados
left join
(
select id_municipio, id_municipio_rf
from `basedosdados.br_bd_diretorios_brasil.municipio`
) b
on ltrim(microdados.id_municipio_rf, '0') = b.id_municipio_rf
14 changes: 14 additions & 0 deletions models/br_rf_cno/br_rf_cno__vinculos.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{ config(alias="vinculos", schema="br_rf_cno", materialized="table") }}


select
safe_cast(data as date) data_extracao,
safe_cast(data_registro as date) data_registro,
safe_cast(data_inicio as date) data_inicio,
safe_cast(data_fim as date) data_fim,
safe_cast(id_cno as string) id_cno,
safe_cast(id_responsavel as string) id_responsavel,
safe_cast(
ltrim(qualificacao_contribuinte, '0') as string
) qualificacao_contribuinte,
from `basedosdados-staging.br_rf_cno_staging.vinculos` as t
222 changes: 222 additions & 0 deletions models/br_rf_cno/schema.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
---
version: 2
models:
- name: br_rf_cno__vinculos
description: Esta tabela apresenta o cadastro de vínculos relacionados a uma determinada
obra.
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns: [id_cno]
- custom_dictionary_coverage:
columns_covered_by_dictionary: [qualificacao_contribuinte]
dictionary_model: ref('br_rf_cno__dicionario')
columns:
- name: data_extracao
description: Data de extração dos dados na fonte original
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_registro
description: Data de registro da obra
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_inicio
description: Data de início do vínculo
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_fim
description: Data de fim do vínculo
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: id_cno
description: ID da obra no Cadastro Nacional de Obras (CNO)
- name: id_responsavel
description: ID (CNPJ/CPF) do responsável pela obra - se for CPF o campo
virá em branco.
- name: qualificacao_contribuinte
description: Qualificação do contribuinte
- name: br_rf_cno__areas
description: Esta tabela apresenta especificações da obra relacionada a uma determinada
obra.
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns: [id_cno]
- custom_dictionary_coverage:
columns_covered_by_dictionary:
- categoria
- destinacao
- tipo_obra
- tipo_area
- tipo_area_complementar
dictionary_model: ref('br_rf_cno__dicionario')
columns:
- name: data_extracao
description: Data de extração dos dados na fonte original
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: id_cno
description: ID da obra no Cadastro Nacional de Obras (CNO)
- name: categoria
description: Categoria da obra
- name: destinacao
description: Destinação da obra
- name: tipo_obra
description: Tipo de Obra
- name: tipo_area
description: Tipo de Área
- name: tipo_area_complementar
description: Tipo de Área Complementar
- name: metragem
description: Metragem da Área
- name: br_rf_cno__cnaes
description: Esta tabela apresenta a subclasse do Código Nacional de Atividades
Econômicas (CNAE) relacionado a uma determinada obra.
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns: [id_cno]
columns:
- name: data_extracao
description: Data de extração dos dados na fonte original
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_registro
description: Data de registro
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: id_cno
description: ID da obra no Cadastro Nacional de Obras (CNO)
- name: cnae_2_subclasse
description: Código de 7 dígitos da Subclasse da Classificação Nacional de
Atividades Econômicas (CNAE)
tests:
- relationships:
to: ref('br_bd_diretorios_brasil__cnae_2')
field: subclasse
- name: br_rf_cno__microdados
description: Esta é a tabela cadastral básica do Cadastro Nacional de Obras (CNO).
Nela são informadas as informações básicas das obras registradas no CNO.
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns: [id_cno]
- not_null_proportion_multiple_columns:
at_least: 0.95
- custom_dictionary_coverage:
columns_covered_by_dictionary: [situacao, qualificacao_responsavel]
dictionary_model: ref('br_rf_cno__dicionario')
columns:
- name: data_extracao
description: Data de extração dos dados na fonte original
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_situacao
description: Data da situação da obra
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_registro
description: Data de registro
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_inicio
description: Data de início da obra
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: data_inicio_responsabilidade
description: Data de início do período de responsabilidade da obra
tests:
- relationships:
to: ref('br_bd_diretorios_data_tempo__data')
field: data.data
- name: id_pais
description: ID País
- name: sigla_uf
description: Sigla da Unidade da Federação
tests:
- relationships:
to: ref('br_bd_diretorios_brasil__uf')
field: sigla
- 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_cno
description: ID da obra no Cadastro Nacional de Obras (CNO)
- name: id_cno_vinculado
description: ID de inscrição vinculada a obra no Cadastro Nacional de Obras
(CNO)
- name: situacao
description: Situação da obra
- name: id_responsavel
description: ID (CNPJ/CPF) do responsável pela obra - se for CPF o campo
virá em branco
- name: nome_responsavel
description: Nome do responsável
- name: qualificacao_responsavel
description: Qualificação do responsável
- name: nome_empresarial
description: Nome empresarial do responsável pela obra (Se responsável pessoa
física, o campo virá em branco)
- name: area
description: Valor da área total
- name: unidade_medida
description: Unidade de medida
- name: bairro
description: Bairro
- name: cep
description: Número do CEP
- name: logradouro
description: Logradouro
- name: tipo_logradouro
description: Tipo de logradouro
- name: numero_logradouro
description: Número do logradouro
- name: complemento
description: Complemento do endereço
- name: caixa_postal
description: Caixa postal no exterior
- name: br_rf_cno__dicionario
description: Dicionário para tradução dos códigos do conjunto br_ms_sisvan. 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.95
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 237488c

Please sign in to comment.