diff --git a/dbt_project.yml b/dbt_project.yml index 95a7f8a9..2a346020 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -163,6 +163,12 @@ models: +post-hook: - 'REVOKE `roles/bigquery.dataViewer` ON TABLE {{ this }} FROM "specialGroup:allUsers"' - 'GRANT `roles/bigquery.dataViewer` ON TABLE {{ this }} TO "group:bd-pro@basedosdados.org"' + br_mg_belohorizonte_smfa_iptu: + +materialized: table + +schema: br_mg_belohorizonte_smfa_iptu + +post-hook: + - 'REVOKE `roles/bigquery.dataViewer` ON TABLE {{ this }} FROM "specialGroup:allUsers"' + - 'GRANT `roles/bigquery.dataViewer` ON TABLE {{ this }} TO "group:bd-pro@basedosdados.org"' br_mp_pep: +materialized: table +schema: br_mp_pep diff --git a/models/br_mg_belohorizonte_smfa_iptu/br_mg_belohorizonte_smfa_iptu__dicionario.sql b/models/br_mg_belohorizonte_smfa_iptu/br_mg_belohorizonte_smfa_iptu__dicionario.sql new file mode 100644 index 00000000..2b4a0ad8 --- /dev/null +++ b/models/br_mg_belohorizonte_smfa_iptu/br_mg_belohorizonte_smfa_iptu__dicionario.sql @@ -0,0 +1,10 @@ +{{ config(alias='dicionario', schema='br_mg_belohorizonte_smfa_iptu') }} + + +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, +REPLACE(REPLACE(valor, '(Zona de Especial Interesse Social - 2', 'Zona de Especial Interesse Social - 2'), '(Zona de Preservação Ambiental', 'Zona de Preservação Ambiental') AS valor +FROM basedosdados-staging.br_mg_belohorizonte_smfa_iptu_staging.dicionario AS t \ No newline at end of file diff --git a/models/br_mg_belohorizonte_smfa_iptu/br_mg_belohorizonte_smfa_iptu__iptu.sql b/models/br_mg_belohorizonte_smfa_iptu/br_mg_belohorizonte_smfa_iptu__iptu.sql new file mode 100644 index 00000000..2ba5cd49 --- /dev/null +++ b/models/br_mg_belohorizonte_smfa_iptu/br_mg_belohorizonte_smfa_iptu__iptu.sql @@ -0,0 +1,46 @@ +{{ config( + alias='iptu', + schema='br_mg_belohorizonte_smfa_iptu', + materialized='incremental', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2022, + "end": 2023, + "interval": 1} + }, + cluster_by=['mes'], + labels = {'project_id' : 'basedosdados'} +)}} +SELECT +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(mes AS INT64) mes, +SAFE_CAST(indice_cadastral AS STRING) indice_cadastral, +SAFE_CAST(lote AS STRING) lote, +SAFE_CAST(zoneamento AS STRING) zoneamento, +SAFE_CAST(zona_homogenea AS STRING) zona_homogenea, +SAFE_CAST(cep AS STRING) cep, +INITCAP(endereco) endereco, +INITCAP(tipo_construtivo) tipo_construtivo, +INITCAP(tipo_ocupacao) tipo_ocupacao, +SAFE_CAST(padrao_acabamento AS STRING) padrao_acabamento, +INITCAP(tipologia) tipologia, +SAFE_CAST(codigo_quantidade_economia AS INT64) quantidade_economias, +INITCAP(frequencia_coleta) frequencia_coleta, +SAFE_CAST(indicador_rede_telefonica AS BOOL) indicador_rede_telefonica, +SAFE_CAST(indicador_meio_fio AS BOOL) indicador_meio_fio, +SAFE_CAST(indicador_pavimentacao AS BOOL) indicador_pavimentacao, +SAFE_CAST(indicador_arborizacao AS BOOL) indicador_arborizacao, +SAFE_CAST(indicador_galeria_pluvial AS BOOL) indicador_galeria_pluvial, +SAFE_CAST(indicador_iluminacao_publica AS BOOL) indicador_iluminacao_publica, +SAFE_CAST(indicador_rede_esgoto AS BOOL) indicador_rede_esgoto, +SAFE_CAST(indicador_agua AS BOOL) indicador_agua, +SAFE.ST_GEOGFROMTEXT(poligono) poligono, +SAFE_CAST(fracao_ideal AS FLOAT64) fracao_ideal, +SAFE_CAST(area_terreno AS FLOAT64) area_terreno, +SAFE_CAST(area_construida AS FLOAT64) area_construida +FROM basedosdados-staging.br_mg_belohorizonte_smfa_iptu_staging.iptu AS t +{% if is_incremental() %} +WHERE DATE(CAST(ano AS INT64),CAST(mes AS INT64),1) > (SELECT MAX(DATE(CAST(ano AS INT64),CAST(mes AS INT64),1)) FROM {{ this }} ) +{% endif %} \ No newline at end of file diff --git a/models/br_mg_belohorizonte_smfa_iptu/schema.yml b/models/br_mg_belohorizonte_smfa_iptu/schema.yml new file mode 100644 index 00000000..bde4cdc8 --- /dev/null +++ b/models/br_mg_belohorizonte_smfa_iptu/schema.yml @@ -0,0 +1,72 @@ +version: 2 + +models: + - name: br_mg_belohorizonte_smfa_iptu__iptu + description: Dados referente ao cadastro do IPTU na cidade de Belo Horizonte + columns: + - name: ano + description: Ano + - name: mes + description: Mês + - name: indice_cadastral + description: Os imóveis, para inscrição no Cadastro Imobiliário, foram codificados através de sua associação a um código alfanumérico denominado índice cadastral, composto de 15 dígitos. + - name: lote + description: Código de identificação do lote + - name: zoneamento + description: Zoneamento vigente no ano de aprovação da planta de valores do IPTU + - name: zona_homogenea + description: Código da zona homogênea + - name: cep + description: Número do CEP + - name: endereco + description: Endereço referente ao IPTU + - name: tipo_construtivo + description: Unidade construtiva de acordo com o tipo construtivo, como casa, barracão, apartamento e entre outros + - name: tipo_ocupacao + description: Especifica o tipo de ocupação. + - name: padrao_acabamento + description: Nível de padrão de acabamento construtivo para caracterização do valor do IPTU + - name: tipologia + description: Descrição da tipologia associada ao tipo de construção e ao tipo de ocupação. + - name: quantidade_economias + description: Unidade de núcleo familiar, atividade econômica ou institucional, distintas em um mesmo índice cadastral. + - name: frequencia_coleta + description: Indica qual é a frequencia de coleta de lixo + - name: indicador_rede_telefonica + description: Indica a existência de rede telefônica em pelo ao menos um dos logradouros relacionado à frente do imóvel + - name: indicador_meio_fio + description: Indica a existência de meio-fio para pelo ao menos um dos logradouros relacionado à frente do imóvel. + - name: indicador_pavimentacao + description: Indica a existência de pavimentação para pelo ao menos um dos logradouros relacionado à frente do imóvel. + - name: indicador_arborizacao + description: Indica a existência de arborização para pelo ao menos um dos logradouros relacionado à frente do imóvel. + - name: indicador_galeria_pluvial + description: Indica a existência de galeria pluvial em pelo ao menos um dos logradouros relacionado à frente do imóvel + - name: indicador_iluminacao_publica + description: Indica a existência de iluminação pública em pelo ao menos um dos logradouros relacionado à frente do imóvel. + - name: indicador_rede_esgoto + description: Indica a existência de rede de esgoto em pelo ao menos um dos logradouros relacionado à frente do imóvel. + - name: indicador_agua + description: Indica a existência de rede de água em pelo ao menos um dos logradouros relacionado à frente do imóvel. + - name: poligono + description: Polígono da feição do imóvel + - name: fracao_ideal + description: Fração ideal + - name: area_terreno + description: Área do terreno + - name: area_construida + description: Área construida + + - name: br_mg_belohorizonte_smfa_iptu__dicionario + description: "Dicionário de dados da tabela de IPTU da cidade de Belo Horizonte" + columns: + - name: id_tabela + description: ID da tabela + - name: nome_coluna + description: Nome da coluna + - name: chave + description: Chave + - name: cobertura_temporal + description: Cobertura temporal + - name: valor + description: Valor \ No newline at end of file