diff --git a/dbt_project.yml b/dbt_project.yml index 584c2cc3..73a3ab14 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -69,7 +69,10 @@ models: +schema: br_bcb_agencia br_bcb_estban: +materialized: table - +schema: br_bcb_estban + +schema: br_bcb_estban + br_bcb_sicor: + +materialized: table + +schema: br_bcb_sicor br_bcb_taxa_cambio: +materialized: table +schema: br_bcb_taxa_cambio @@ -163,6 +166,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 @@ -208,6 +217,9 @@ models: br_tse_eleicoes_2022: +materialized: table +schema: br_tse_eleicoes_2022 + br_rf_cafir: + +materialized: table + +schema: br_rf_cafir fundacao_lemann: +materialized: table +schema: fundacao_lemann diff --git a/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados.sql b/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados.sql index 0c3aa24c..e078c4c3 100644 --- a/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados.sql +++ b/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados.sql @@ -1,7 +1,7 @@ {{ config( alias='microdados', schema='br_anp_precos_combustiveis', - materialized='table', + materialized='incremental', partition_by={ "field": "ano", "data_type": "int64", @@ -11,9 +11,18 @@ "interval": 1} }, cluster_by = ["id_municipio", "sigla_uf"], - labels = {'project_id': 'basedosdados'}) -}} - + labels = {'project_id': 'basedosdados-dev'}, + pre_hook = "DROP ALL ROW ACCESS POLICIES ON {{ this }}", + post_hook = [ + 'CREATE OR REPLACE ROW ACCESS POLICY allusers_filter + ON {{this}} + GRANT TO ("allUsers") + FILTER USING (DATE_DIFF(CURRENT_DATE(),DATE(data_coleta), week) > 6)', + 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter + ON {{this}} + GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") + FILTER USING (EXTRACT(YEAR from data_coleta) = EXTRACT(YEAR from CURRENT_DATE()))'])}} +WITH anp AS ( SELECT SAFE_CAST(ano AS INT64) ano, SAFE_CAST(sigla_uf AS STRING) sigla_uf, @@ -29,5 +38,8 @@ INITCAP(produto) AS produto, SAFE_CAST(unidade_medida AS STRING) unidade_medida, SAFE_CAST(preco_compra AS FLOAT64) preco_compra, SAFE_CAST(preco_venda AS FLOAT64) preco_venda -FROM basedosdados-staging.br_anp_precos_combustiveis_staging.microdados AS t -WHERE DATE(data_coleta) <= DATE_SUB(CURRENT_DATE, INTERVAL 6 WEEK) +FROM basedosdados-staging.br_anp_precos_combustiveis_staging.microdados AS t) +SELECT * FROM anp +{% if is_incremental() %} +WHERE data_coleta> (SELECT MAX(data_coleta) FROM {{ this }}) +{% endif %} \ No newline at end of file diff --git a/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados_atualizado.sql b/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados_atualizado.sql deleted file mode 100644 index 8611e5f7..00000000 --- a/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados_atualizado.sql +++ /dev/null @@ -1,34 +0,0 @@ -{{ config( - alias='microdados_atualizado', - schema='br_anp_precos_combustiveis', - materialized='table', - partition_by={ - "field": "ano", - "data_type": "int64", - "range": { - "start": 2004, - "end": 2023, - "interval": 1} - }, - cluster_by = ["id_municipio", "sigla_uf"], - labels = {'project_id': 'basedosdados'}, - 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"']) -}} - -SELECT -SAFE_CAST(ano AS INT64) ano, -SAFE_CAST(sigla_uf AS STRING) sigla_uf, -SAFE_CAST(id_municipio AS STRING) id_municipio, -INITCAP(bairro_revenda) AS bairro_revenda, -SAFE_CAST(cep_revenda AS STRING) cep_revenda, -INITCAP(endereco_revenda) AS endereco_revenda, -REPLACE(REPLACE(REPLACE(cnpj_revenda, "/", ""), "-", ""), ".", "") AS cnpj_revenda, -INITCAP(nome_estabelecimento) AS nome_estabelecimento, -INITCAP(bandeira_revenda) AS bandeira_revenda, -SAFE_CAST(data_coleta AS DATE) data_coleta, -INITCAP(produto) AS produto, -SAFE_CAST(unidade_medida AS STRING) unidade_medida, -SAFE_CAST(preco_compra AS FLOAT64) preco_compra, -SAFE_CAST(preco_venda AS FLOAT64) preco_venda -FROM basedosdados-staging.br_anp_precos_combustiveis_staging.microdados AS t diff --git a/models/br_anp_precos_combustiveis/schema.yml b/models/br_anp_precos_combustiveis/schema.yml index 9164ab3e..8eadd743 100644 --- a/models/br_anp_precos_combustiveis/schema.yml +++ b/models/br_anp_precos_combustiveis/schema.yml @@ -32,35 +32,3 @@ models: description: Preço de venda da distribuidora para o posto revendedor de combustível - name: preco_venda description: Preço de venda ao consumidor final praticado pelo revendedor na data da coleta - - - name: br_anp_precos_combustiveis__microdados_atualizado - description: "Série Histórica de Preços de Combustíveis - a saber, gasolina, etanol, diesel s10, gasolina aditivada, glp, diesel e gnv - com base na pesquisa de preços da Agência Nacional do Petróleo, Gás Natural e Biocombustíveis realizada a partir da primeira semana de 2004 até os dias de hoje." - columns: - - name: ano - description: Ano - - name: sigla_uf - description: Sigla da Unidade Federativa da revenda pesquisada - - name: id_municipio - description: ID Município IBGE - 7 Dígitos - - name: bairro_revenda - description: Nome do bairro da revenda pesquisada - - name: cep_revenda - description: Número do Código do Endereço Postal (CEP) do logradouro da revenda pesquisada - - name: endereco_revenda - description: Endereço de revenda - - name: cnpj_revenda - description: Número do Cadastro Nacional de Pessoa Jurídica da revenda - - name: nome_estabelecimento - description: Nome do estabelecimento - - name: bandeira_revenda - description: Nome da Bandeira da revenda - - name: data_coleta - description: Data da coleta do preço - - name: produto - description: Nome do combustível - - name: unidade_medida - description: Unidade de medida - - name: preco_compra - description: Preço de venda da distribuidora para o posto revendedor de combustível - - name: preco_venda - description: Preço de venda ao consumidor final praticado pelo revendedor na data da coleta diff --git a/models/br_b3_cotacoes/br_b3_cotacoes__dicionario.sql b/models/br_b3_cotacoes/br_b3_cotacoes__dicionario.sql index f1aa2973..d45f3889 100644 --- a/models/br_b3_cotacoes/br_b3_cotacoes__dicionario.sql +++ b/models/br_b3_cotacoes/br_b3_cotacoes__dicionario.sql @@ -1,11 +1,10 @@ +--- registrando novamente o dicionário {{ config(alias='dicionario', schema='br_b3_cotacoes') }} - 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_b3_cotacoes_staging.dicionario AS t +FROM basedosdados-staging.br_b3_cotacoes_staging.dicionario AS t \ No newline at end of file diff --git a/models/br_bcb_sicor/br_bcb_sicor__dicionario.sql b/models/br_bcb_sicor/br_bcb_sicor__dicionario.sql new file mode 100644 index 00000000..0a35381a --- /dev/null +++ b/models/br_bcb_sicor/br_bcb_sicor__dicionario.sql @@ -0,0 +1,14 @@ +{{ + config( + alias = 'dicionario', + schema='br_bcb_sicor', + 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_bcb_sicor_staging.dicionario AS t \ No newline at end of file diff --git a/models/br_bcb_sicor/br_bcb_sicor__empreendimento.sql b/models/br_bcb_sicor/br_bcb_sicor__empreendimento.sql new file mode 100644 index 00000000..df0191b1 --- /dev/null +++ b/models/br_bcb_sicor/br_bcb_sicor__empreendimento.sql @@ -0,0 +1,24 @@ +{{ + config( + alias = 'empreendimento', + schema='br_bcb_sicor', + materialized='table', + ) +}} +SELECT +SAFE_CAST(id_empreendimento AS STRING) id_empreendimento, +SAFE_CAST(data_inicio_empreendimento AS DATE) data_inicio, +SAFE_CAST(data_fim_empreendimento AS DATE) data_fim, +SAFE_CAST(finalidade AS STRING) finalidade, +SAFE_CAST(atividade AS STRING) atividade, +SAFE_CAST(modalidade AS STRING) modalidade, +SAFE_CAST(produto AS STRING) produto, +SAFE_CAST(variedade AS STRING) variedade, +SAFE_CAST(cesta_safra AS STRING) cesta_safra, +SAFE_CAST(zoneamento AS STRING) zoneamento, +SAFE_CAST(unidade_medida AS STRING) unidade_medida, +SAFE_CAST(unidade_medida_previsao_producao AS STRING) unidade_medida_previsao_producao, +SAFE_CAST(consorcio AS STRING) consorcio, +SAFE_CAST(cedula_mae AS STRING) cedula_mae, +SAFE_CAST(id_tipo_cultura AS STRING) id_tipo_cultura +FROM basedosdados-staging.br_bcb_sicor_staging.empreendimento AS t \ No newline at end of file diff --git a/models/br_bcb_sicor/br_bcb_sicor__microdados_liberacao.sql b/models/br_bcb_sicor/br_bcb_sicor__microdados_liberacao.sql new file mode 100644 index 00000000..a1ef4a27 --- /dev/null +++ b/models/br_bcb_sicor/br_bcb_sicor__microdados_liberacao.sql @@ -0,0 +1,26 @@ +{{ + config( + alias = 'microdados_liberacao', + schema='br_bcb_sicor', + materialized='table', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2013, + "end": 2024, + "interval": 1} + }, + cluster_by = ["mes"] + ) +}} + + +SELECT +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(mes AS INT64) mes, +SAFE_CAST(data_liberacao AS DATE) data_liberacao, +SAFE_CAST(id_referencia_bacen AS STRING) id_referencia_bacen, +SAFE_CAST(numero_ordem AS STRING) numero_ordem, +SAFE_CAST(valor_liberado AS FLOAT64) valor_liberado +FROM basedosdados-staging.br_bcb_sicor_staging.microdados_liberacao AS t \ No newline at end of file diff --git a/models/br_bcb_sicor/br_bcb_sicor__microdados_operacao.sql b/models/br_bcb_sicor/br_bcb_sicor__microdados_operacao.sql new file mode 100644 index 00000000..9b0112e7 --- /dev/null +++ b/models/br_bcb_sicor/br_bcb_sicor__microdados_operacao.sql @@ -0,0 +1,68 @@ +{{ + config( + alias = 'microdados_operacao', + schema='br_bcb_sicor', + materialized='table', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2013, + "end": 2024, + "interval": 1} + }, + cluster_by = ["sigla_uf", "plano_safra_emissao"] + ) +}} + +SELECT +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(mes AS INT64) mes, +SAFE_CAST(data_emissao AS DATE) data_emissao, +SAFE_CAST(ano_vencimento AS INT64) ano_vencimento, +SAFE_CAST(mes_vencimento AS INT64) mes_vencimento, +SAFE_CAST(data_vencimento AS DATE) data_vencimento, +SAFE_CAST(plano_safra_emissao AS STRING) plano_safra_emissao, +SAFE_CAST(plano_safra_vencimento AS STRING) plano_safra_vencimento, +SAFE_CAST(sigla_uf AS STRING) sigla_uf, +SAFE_CAST(id_referencia_bacen AS STRING) id_referencia_bacen, +SAFE_CAST(numero_ordem AS STRING) numero_ordem, +SAFE_CAST(id_categoria_emitente AS STRING) id_categoria_emitente, +SAFE_CAST(id_empreendimento AS STRING) id_empreendimento, +SAFE_CAST(id_fase_ciclo_producao AS STRING) id_fase_ciclo_producao, +SAFE_CAST(id_fonte_recurso AS STRING) id_fonte_recurso, +SAFE_CAST(id_instrumento_credito AS STRING) id_instrumento_credito, +SAFE_CAST(id_programa AS STRING) id_programa, +SAFE_CAST(id_referencia_bacen_investimento AS STRING) id_referencia_bacen_investimento, +SAFE_CAST(id_subprograma AS STRING) id_subprograma, +SAFE_CAST(id_tipo_agricultura AS STRING) id_tipo_agricultura, +SAFE_CAST(id_tipo_cultivo AS STRING) id_tipo_cultivo, +SAFE_CAST(id_tipo_encargo_financeiro AS STRING) id_tipo_encargo_financeiro, +SAFE_CAST(id_tipo_grao_semente AS STRING) id_tipo_grao_semente, +SAFE_CAST(id_tipo_integracao_consorcio AS STRING) id_tipo_integracao_consorcio, +SAFE_CAST(id_tipo_irrigacao AS STRING) id_tipo_irrigacao, +SAFE_CAST(id_tipo_seguro AS STRING) id_tipo_seguro, +SAFE_CAST(cnpj_agente_investimento AS STRING) cnpj_agente_investimento, +SAFE_CAST(cnpj_basico_instituicao_financeira AS STRING) cnpj_basico_instituicao_financeira, +SAFE_CAST(id_contrato_sistema_tesouro_nacional AS STRING) id_contrato_sistema_tesouro_nacional, +SAFE_CAST(cnpj_cadastrante AS STRING) cnpj_cadastrante, +SAFE_CAST(data_fim_colheita AS DATE) data_fim_colheita, +SAFE_CAST(data_fim_plantio AS DATE) data_fim_plantio, +SAFE_CAST(data_inicio_colheita AS DATE) data_inicio_colheita, +SAFE_CAST(data_inicio_plantio AS DATE) data_inicio_plantio, +SAFE_CAST(area_financiada AS FLOAT64) area_financiada, +SAFE_CAST(valor_aliquota_proagro AS FLOAT64) valor_aliquota_proagro, +SAFE_CAST(valor_parcela_credito AS FLOAT64) valor_parcela_credito, +SAFE_CAST(valor_prestacao_investimento AS FLOAT64) valor_prestacao_investimento, +SAFE_CAST(valor_recurso_proprio AS FLOAT64) valor_recurso_proprio, +SAFE_CAST(valor_receita_bruta_esperada AS FLOAT64) valor_receita_bruta_esperada, +SAFE_CAST(valor_recurso_proprio_srv AS FLOAT64) valor_recurso_proprio_srv, +SAFE_CAST(valor_quantidade_itens_financiados AS FLOAT64) valor_quantidade_itens_financiados, +SAFE_CAST(valor_produtividade_obtida AS FLOAT64) valor_produtividade_obtida, +SAFE_CAST(valor_previsao_producao AS FLOAT64) valor_previsao_producao, +SAFE_CAST(taxa_juro AS FLOAT64) taxa_juro, +SAFE_CAST(taxa_juro_encargo_financeiro_posfixado AS FLOAT64) taxa_juro_encargo_financeiro_posfixado, +SAFE_CAST(valor_percentual_custo_efetivo_total AS FLOAT64) valor_percentual_custo_efetivo_total, +SAFE_CAST(valor_percentual_risco_fundo_constitucional AS FLOAT64) valor_percentual_risco_fundo_constitucional, +SAFE_CAST(valor_percentual_risco_stn AS FLOAT64) valor_percentual_risco_stn +FROM basedosdados-staging.br_bcb_sicor_staging.microdados_operacao AS t \ No newline at end of file diff --git a/models/br_bcb_sicor/br_bcb_sicor__microdados_saldo.sql b/models/br_bcb_sicor/br_bcb_sicor__microdados_saldo.sql new file mode 100644 index 00000000..08609d9e --- /dev/null +++ b/models/br_bcb_sicor/br_bcb_sicor__microdados_saldo.sql @@ -0,0 +1,27 @@ +{{ + config( + alias = 'microdados_saldo', + schema='br_bcb_sicor', + materialized='table', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2013, + "end": 2024, + "interval": 1} + }, + cluster_by = ["mes"] + ) +}} + +SELECT +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(mes AS INT64) mes, +SAFE_CAST(id_referencia_bacen AS STRING) id_referencia_bacen, +SAFE_CAST(numero_ordem AS STRING) numero_ordem, +SAFE_CAST(id_situacao_operacao AS STRING) id_situacao_operacao, +SAFE_CAST(valor_medio_diario AS FLOAT64) valor_medio_diario, +SAFE_CAST(valor_medio_diario_vincendo AS FLOAT64) valor_medio_diario_vincendo, +SAFE_CAST(valor_ultimo_dia AS FLOAT64) valor_ultimo_dia +FROM basedosdados-staging.br_bcb_sicor_staging.microdados_saldo AS t \ No newline at end of file diff --git a/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_complemento_operacao.sql b/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_complemento_operacao.sql new file mode 100644 index 00000000..f06980fa --- /dev/null +++ b/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_complemento_operacao.sql @@ -0,0 +1,19 @@ +{{ + config( + alias = 'recurso_publico_complemento_operacao', + schema='br_bcb_sicor', + materialized='table', + partition_by = { + "field": "id_municipio", + "data_type": "string" + } + ) +}} + +SELECT +SAFE_CAST(id_referencia_bacen AS STRING) id_referencia_bacen, +SAFE_CAST(id_municipio AS STRING) id_municipio, +SAFE_CAST(numero_ordem AS STRING) numero_ordem, +SAFE_CAST(id_referencia_bacen_efetivo AS STRING) id_referencia_bacen_efetivo, +SAFE_CAST(id_agencia AS STRING) id_agencia +FROM basedosdados-staging.br_bcb_sicor_staging.recurso_publico_complemento_operacao AS t \ No newline at end of file diff --git a/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_cooperado.sql b/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_cooperado.sql new file mode 100644 index 00000000..1bb3fbed --- /dev/null +++ b/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_cooperado.sql @@ -0,0 +1,15 @@ +{{ + config( + alias = 'recurso_publico_cooperado', + schema='br_bcb_sicor', + materialized='table', + ) +}} + +SELECT +SAFE_CAST(id_referencia_bacen AS STRING) id_referencia_bacen, +SAFE_CAST(numero_ordem AS STRING) numero_ordem, +SAFE_CAST(tipo_cpf_cnpj AS STRING) tipo_cpf_cnpj, +SAFE_CAST(tipo_pessoa AS STRING) tipo_pessoa, +SAFE_CAST(valor_parcela AS FLOAT64) valor_parcela +FROM basedosdados-staging.br_bcb_sicor_staging.recurso_publico_cooperado AS t \ No newline at end of file diff --git a/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_gleba.sql b/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_gleba.sql new file mode 100644 index 00000000..069a3e03 --- /dev/null +++ b/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_gleba.sql @@ -0,0 +1,16 @@ +{{ + config( + alias = 'recurso_publico_gleba', + schema='br_bcb_sicor', + materialized='table' + ) +}} +SELECT +SAFE_CAST(id_referencia_bacen AS STRING) id_referencia_bacen, +SAFE_CAST(numero_ordem AS STRING) numero_ordem, +SAFE_CAST(numero_identificador_gleba AS STRING) numero_identificador_gleba, +SAFE_CAST(indice_indice_gleba AS INT64) indice_gleba, +SAFE_CAST(indice_indice_ponto AS INT64) indice_ponto, +ST_GEOGPOINT(SAFE_CAST(longitude AS FLOAT64),SAFE_CAST(latitude AS FLOAT64)) ponto, +SAFE_CAST(altitude AS FLOAT64) altitude +FROM basedosdados-staging.br_bcb_sicor_staging.recurso_publico_gleba AS t \ No newline at end of file diff --git a/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_mutuario.sql b/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_mutuario.sql new file mode 100644 index 00000000..36023f6c --- /dev/null +++ b/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_mutuario.sql @@ -0,0 +1,16 @@ +{{ + config( + alias = 'recurso_publico_mutuario', + schema='br_bcb_sicor', + materialized='table', + ) +}} + + +SELECT +SAFE_CAST(id_referencia_bacen AS STRING) id_referencia_bacen, +SAFE_CAST(indicador_sexo AS INT64) indicador_sexo, +SAFE_CAST(tipo_cpf_cnpj AS STRING) tipo_cpf_cnpj, +SAFE_CAST(tipo_beneficiario AS STRING) tipo_beneficiario, +SAFE_CAST(id_dap AS STRING) id_dap +FROM basedosdados-staging.br_bcb_sicor_staging.recurso_publico_mutuario AS t \ No newline at end of file diff --git a/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_propriedade.sql b/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_propriedade.sql new file mode 100644 index 00000000..553e0e1f --- /dev/null +++ b/models/br_bcb_sicor/br_bcb_sicor__recurso_publico_propriedade.sql @@ -0,0 +1,16 @@ +{{ + config( + alias = 'recurso_publico_propriedade', + schema='br_bcb_sicor', + materialized='table', + ) +}} + +SELECT +SAFE_CAST(id_referencia_bacen AS STRING) id_referencia_bacen, +SAFE_CAST(numero_ordem AS STRING) numero_ordem, +SAFE_CAST(tipo_cpf_cnpj AS STRING) tipo_cpf_cnpj, +SAFE_CAST(id_sncr AS STRING) id_sncr, +SAFE_CAST(id_nirf AS STRING) id_nirf, +SAFE_CAST(id_car AS STRING) id_car +FROM basedosdados-staging.br_bcb_sicor_staging.recurso_publico_propriedade AS t \ No newline at end of file diff --git a/models/br_bcb_sicor/schema.yml b/models/br_bcb_sicor/schema.yml new file mode 100644 index 00000000..01a52a5d --- /dev/null +++ b/models/br_bcb_sicor/schema.yml @@ -0,0 +1,254 @@ +version: 2 + +models: + - name: br_bcb_sicor__dicionario + description: Dicionário + 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 + - name: br_bcb_sicor__microdados_operacao + description: A tabela de Operações contém os microdados das contratações de crédito de cada estado brasileiro. Nela, estão presentes principais informações (categoria de produtor; fonte de recursos; instituição credora; produto financiado e etc) das mais de 19 milhôes de operações de crédito rural registradas no SICOR no período. É importante salientar que cada linha não necessariamente representa uma operação completa. É possível que uma unica operação (identificada pelo id_referencia_bacen) contenha diversos itens e, portanto, seja subdividida em ordens. + columns: + - name: ano + description: Ano da emissão da operação + - name: mes + description: Mês de emissão da operação + - name: data_emissao + description: Data de emissão da operação + - name: ano_vencimento + description: Ano de vencimento da operação + - name: mes_vencimento + description: Mês de vencimento da operação + - name: data_vencimento + description: Data de vencimento da operação + - name: plano_safra_emissao + description: Plano safra de emissao da operação + - name: plano_safra_vencimento + description: Plano safra de vencimento da operação + - name: sigla_uf + description: Sigla da Unidade da Federação + - name: id_referencia_bacen + description: Identificador único de cada operação de crédito + - name: numero_ordem + description: Identificador da quantidade de ordens que compõem uma operação de crédito + - name: id_categoria_emitente + description: Identificador da categoria do emitente + - name: id_empreendimento + description: Identificador do empreendimento + - name: id_fase_ciclo_producao + description: Identificador da fase ciclo de produção + - name: id_fonte_recurso + description: Identificador da fonte de recursos + - name: id_instrumento_credito + description: Identificador do instrumento de crédito + - name: id_programa + description: Identificador do programa cujo crédito concedido está relacionado + - name: id_referencia_bacen_investimento + description: Identificador do refbacen de investimento + - name: id_subprograma + description: Identificador do subprograma + - name: id_tipo_agricultura + description: Identificador do tipo de agricultura + - name: id_tipo_cultivo + description: Identificador do tipo de cultivo + - name: id_tipo_encargo_financeiro + description: Identificador do tipo de encargos financeiros + - name: id_tipo_grao_semente + description: Identificador do tipo de grão/semente + - name: id_tipo_integracao_consorcio + description: Identificador do tipo de integração/consórcio + - name: id_tipo_irrigacao + description: Identificador de tipo de irrigação + - name: id_tipo_seguro + description: Identificador do tipo de seguro + - name: cnpj_agente_investimento + description: Concedente da operação de investimento + - name: cnpj_basico_instituicao_financeira + description: CNPJ da instituição financeira concedente do crédito + - name: id_contrato_sistema_tesouro_nacional + description: Código da Secretaria do Tesouro Nacional + - name: cnpj_cadastrante + description: O BACEN não fornece descrição dessa variável nos metadados + - name: data_fim_colheita + description: Data do fim de colheita + - name: data_fim_plantio + description: Data do fim de plantio + - name: data_inicio_colheita + description: Data do início de colheita + - name: data_inicio_plantio + description: Data do início de plantio + - name: area_financiada + description: Área financiada + - name: valor_aliquota_proagro + description: Valor da alíquota do Proagro + - name: valor_parcela_credito + description: Valor da parcela de crédito + - name: valor_prestacao_investimento + description: Valor da prestação de investimento + - name: valor_recurso_proprio + description: Valor do recurso próprio + - name: valor_receita_bruta_esperada + description: Valor da receita bruta esperada + - name: valor_recurso_proprio_srv + description: Garantia de renda mínima do Sistema de Valores a Receber (SRV) + - name: valor_quantidade_itens_financiados + description: Valor da quantidade de itens financiados + - name: valor_produtividade_obtida + description: Valor da produtividade obtida + - name: valor_previsao_producao + description: Valor da previsão de produção + - name: taxa_juro + description: Taxa de juros + - name: taxa_juro_encargo_financeiro_posfixado + description: Taxa de juros do encargo financeiro + - name: valor_percentual_custo_efetivo_total + description: Valor percentual do custo efetivo total + - name: valor_percentual_risco_fundo_constitucional + description: Valor percentual do risco do fundo constitucional + - name: valor_percentual_risco_stn + description: Valor percentual risco da Secretaria do Tesouro Nacional (STN) + - name: br_bcb_sicor__microdados_saldo + description: Esta tabela contém microdados sobre a evolução contábil mensal das operações de crédito rural em curso e já quitadas. Para o aproveitamento completo, sugere-se que esta seja utilizada em conjunto com as tabelas de Operações (microdados_operacao) e liberações (microdados_liberacao) a depender das necessidades de análise. + columns: + - name: ano + description: Ano de referência do saldo + - name: mes + description: Mês de referência do saldo + - name: id_referencia_bacen + description: Identificador único de cada operação de crédito + - name: numero_ordem + description: Identificador da quantidade de ordens que compõem uma operação de crédito + - name: id_situacao_operacao + description: Situação da operação + - name: valor_medio_diario + description: Saldo médio diário + - name: valor_medio_diario_vincendo + description: Saldo médio diário vincendo + - name: valor_ultimo_dia + description: Saldo do último dia + - name: br_bcb_sicor__microdados_liberacao + description: Esta tabela contém o registro dos recursos liberados pelas instituições financeiras no decorrer de uma operação de crédito, durante 2013 a julho de 2022. A liberação obedece o cronograma de liberação de recursos estipulado no ato da assinatura do contrato que formaliza a operação de crédito rural. Por meio desta base é possível descobrir o montante de recursos efetivamente liberado bem como o status da operação de crédito. Recomenda-se que seja utilizado em conjunto com a tabela de Operações (microdados_operações) e de Saldos (microdados_saldos) a depender das necessidades de análise. + columns: + - name: ano + description: Ano de referência do valor liberado total ou parcial + - name: mes + description: Mês de referência do valor liberado total ou parcial + - name: data_liberacao + description: Data de liberação da parcela de crédito total ou parcial + - name: id_referencia_bacen + description: Identificador único de cada operação de crédito + - name: numero_ordem + description: Identificador da quantidade de ordens que compõem uma operação de crédito + - name: valor_liberado + description: Valor total ou parcial liberado na parcela de crédito + - name: br_bcb_sicor__empreendimento + description: A tabela de empreendimentos é um catálogo do que foi e do que é financiado. Recomenda-se que ela seja utilizada em conjunto com os microdadados de operações de crédito (microdados_operacao) para se ter uma visão completa dos produtos, atividades e demais atributos da operação de crédito que foram alvo de financiamento. + columns: + - name: id_empreendimento + description: Código do empreendimento + - name: data_inicio + description: Data de criação do empreendimento + - name: data_fim + description: Data de fim do empreendimento + - name: finalidade + description: Finalidade do empreendimento + - name: atividade + description: Atividade do empreendimento + - name: modalidade + description: Modalidade do empreendimento + - name: produto + description: Produto do empreendimento + - name: variedade + description: Variedade do empreendimento + - name: cesta_safra + description: Cesta de safras do empreendimento + - name: zoneamento + description: Zoneamento do empreendimento + - name: unidade_medida + description: Unidade de medida do produto financiado no empreendimento + - name: unidade_medida_previsao_producao + description: Unidade de medida de previsão de produção do produto financiado no empreendimento + - name: consorcio + description: Consórcio do empreendimento + - name: cedula_mae + description: Indica se o empreendimento refere-se a uma cédula mãe + - name: id_tipo_cultura + description: Código do tipo de cultura do empreendimento + - name: br_bcb_sicor__recurso_publico_complemento_operacao + description: Em 2023 o Banco Central do Brasil (BCB) liberou informações adicionais das operações de crédito que foram financiadas com recursos públicos. + columns: + - name: id_referencia_bacen + description: Identificador único de cada operação de crédito + - name: id_municipio + description: ID município 7 dígitos + - name: numero_ordem + description: Identificador da quantidade de ordens que compõem uma operação + de crédito + - name: id_referencia_bacen_efetivo + description: Identificador único de cada operação de crédito explícito + - name: id_agencia + description: Identificador da agência da Instituição Financeira + - name: br_bcb_sicor__recurso_publico_propriedade + description: Em 2023 o Banco Central do Brasil (BCB) liberou informações adicionais das operações de crédito que foram financiadas com recursos públicos. Esta tabela contém dados adicionais do imóvel rural de aplicação do crédito. + columns: + - name: id_referencia_bacen + description: Identificador único de cada operação de crédito + - name: numero_ordem + description: Identificador da quantidade de ordens que compõem uma operação de crédito + - name: tipo_cpf_cnpj + description: CPF ou CNPJ do proprietário + - name: id_sncr + description: Identificar do Imóvel no Sistema Nacional de Cadastro Rural (SNCR) + - name: id_nirf + description: Identificador do Imóvel na Receita Federal (NIRF) + - name: id_car + description: Identificador do Cadastro da Área Rural (CAR) + - name: br_bcb_sicor__recurso_publico_mutuario + description: Em 2023 o Banco Central do Brasil (BCB) liberou informações adicionais das operações de crédito que foram financiadas com recursos públicos. Esta tabela contém dados adicionais sobre o mutuário (tomador do empréstimo). + columns: + - name: id_referencia_bacen + description: Identificador único de cada operação de crédito + - name: indicador_sexo + description: Sexo + - name: tipo_cpf_cnpj + description: CPF ou CNPJ do beneficiário + - name: tipo_beneficiario + description: Tipo do Beneficiário + - name: id_dap + description: Identificador da Declaração de Aptidão ao PRONAF (DAP) + - name: br_bcb_sicor__recurso_publico_gleba + description: Em 2023 o Banco Central do Brasil (BCB) liberou informações adicionais das operações de crédito que foram financiadas com recursos públicos. Esta tabela contém dados adicionais sobre as coordenadas geográficas das glebas do imóvel do mutuário. + columns: + - name: id_referencia_bacen + description: Identificador único de cada operação de crédito + - name: numerio_ordem + description: Identificador da quantidade de ordens que compõem uma operação de crédito + - name: numero_identificador_gleba + description: Código identificador da gleba + - name: indice_gleba + description: Número da gleba + - name: indice_ponto + description: Número do ponto + - name: ponto + description: ponto + - name: br_bcb_sicor__recurso_publico_cooperado + description: Em 2023 o Banco Central do Brasil (BCB) liberou informações adicionais das operações de crédito que foram financiadas com recursos públicos. Esta tabela identifica o repasse do crédito a cada menbro de uma cooperativa, caso exista. + columns: + - name: id_referencia_bacen + description: Identificador único de cada operação de crédito + - name: numero_ordem + description: Identificador da quantidade de ordens que compõem uma operação de crédito + - name: tipo_cpf_cnpj + description: CPF ou CNPJ do cooperado + - name: tipo_pessoa + description: Tipo da pessoa jurídica + - name: valor_parcela + description: Valor da parcela de crédito do cooperado 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 diff --git a/models/br_rf_cafir/br_rf_cafir__dicionario.sql b/models/br_rf_cafir/br_rf_cafir__dicionario.sql new file mode 100644 index 00000000..23755c9c --- /dev/null +++ b/models/br_rf_cafir/br_rf_cafir__dicionario.sql @@ -0,0 +1,10 @@ +{{ config(alias='dicionario', schema='br_rf_cafir') }} + +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_cafir_staging.dicionario AS t \ No newline at end of file diff --git a/models/br_rf_cafir/br_rf_cafir__imoveis_rurais.sql b/models/br_rf_cafir/br_rf_cafir__imoveis_rurais.sql new file mode 100644 index 00000000..a01792e1 --- /dev/null +++ b/models/br_rf_cafir/br_rf_cafir__imoveis_rurais.sql @@ -0,0 +1,101 @@ +{{ + config( + schema='br_rf_cafir', + alias='imoveis_rurais', + materialized='incremental', + partition_by={ + "field": "data_referencia", + "data_type": "date", + "granularity": "day" + }, + cluster_by=['sigla_uf'], + pre_hook = "DROP ALL ROW ACCESS POLICIES ON {{ this }}", + post_hook=['CREATE OR REPLACE ROW ACCESS POLICY allusers_filter + ON {{this}} + GRANT TO ("allUsers") + FILTER USING (DATE_DIFF(CURRENT_DATE(),DATE(data_referencia), MONTH) > 6)', + 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter + ON {{this}} + GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") + FILTER USING (EXTRACT(YEAR from data_referencia) = EXTRACT(YEAR from CURRENT_DATE()))' ] + ) + }} + +with lower_munis as ( + SELECT + *, + LOWER(municipio) as nome_mun, + FROM basedosdados-staging.br_rf_cafir_staging.imoveis_rurais +), +fixed_names as ( + SELECT + CASE + WHEN nome_mun = 'lagoa do itaenga' THEN 'lagoa de itaenga' + WHEN nome_mun = 'itapaje' THEN 'itapage' + WHEN nome_mun = "olho d'agua do borges" THEN "olho-d'agua do borges" + WHEN nome_mun = 'graccho cardoso' THEN 'gracho cardoso' + WHEN nome_mun = 'passa vinte' THEN 'passa-vinte' + WHEN nome_mun = 'parati' THEN 'paraty' + WHEN nome_mun = 'balneario de picarras' THEN 'balneario picarras' + WHEN nome_mun = 'mogi-guacu' THEN 'mogi guacu' + WHEN nome_mun = 'sao luiz do paraitinga' THEN 'sao luis do paraitinga' + WHEN nome_mun = 'santana do livramento' THEN "sant'ana do livramento" + WHEN nome_mun = 'belem de sao francisco' THEN 'belem do sao francisco' + WHEN nome_mun = 'barao do monte alto' THEN 'barao de monte alto' + WHEN nome_mun = 'sao tome das letras' THEN 'sao thome das letras' + WHEN nome_mun = 'brasopolis' THEN 'brazopolis' + WHEN nome_mun = 'florinea' THEN 'florinia' + WHEN nome_mun = 'sao valerio da natividade' THEN 'sao valerio' + WHEN nome_mun = 'santa cruz do monte castelo' THEN 'santa cruz de monte castelo' + WHEN nome_mun = 'poxoreu' THEN 'poxoreo' + WHEN nome_mun = 'pindare mirim' THEN 'pindare-mirim' + WHEN nome_mun = 'entre ijuis' THEN 'entre-ijuis' + WHEN nome_mun = 'assu' THEN 'acu' + WHEN nome_mun = 'amparo da serra' THEN 'amparo do serra' + WHEN nome_mun = 'dona euzebia' THEN 'dona eusebia' + WHEN nome_mun = 'eldorado dos carajas' THEN 'eldorado do carajas' + WHEN nome_mun = 'couto de magalhaes' THEN 'couto magalhaes' + WHEN nome_mun = 'sao domingos de pombal' THEN 'sao domingos' + WHEN nome_mun = 'picarras' THEN 'balneario picarras' + WHEN nome_mun = "pingo d'agua" THEN "pingo-d'agua" + WHEN nome_mun = 'suzanopolis' THEN 'suzanapolis' + WHEN nome_mun = 'suzanopolis' THEN 'suzanapolis' + WHEN nome_mun = 'povoado pouso alegre' THEN 'pouso alegre' + WHEN nome_mun = 'alta floresta d oeste' THEN "alta floresta d'oeste" + WHEN nome_mun = 'santa luzia d oeste' THEN "santa luzia d'oeste" + WHEN nome_mun = "machadinho d oeste" THEN "machadinho d'oeste" + WHEN nome_mun = "gloria d oeste" THEN "gloria d'oeste" + WHEN nome_mun = "alvorada d oeste" THEN "alvorada d'oeste" + WHEN nome_mun = "bom jesus" AND sigla_uf = 'GO' THEN "bom jesus de goias" + WHEN nome_mun = "presidente castelo branco" AND sigla_uf = 'SC' THEN 'presidente castello branco' + WHEN nome_mun = "santarem" AND sigla_uf = 'PB' THEN 'joca claudino' + ELSE nome_mun + END as nome_mun, + * + from lower_munis + LEFT JOIN (SELECT LOWER(REGEXP_REPLACE(NORMALIZE(nome, NFD), r"\pM", '')) nome_municipio, id_municipio, sigla_uf as sigla_uf1 FROM basedosdados.br_bd_diretorios_brasil. + municipio) as mun + ON lower_munis.nome_mun = mun.nome_municipio AND lower_munis.sigla_uf = mun.sigla_uf1), +final as (SELECT + SAFE_CAST(data as DATE) data_referencia, + SAFE_CAST(FORMAT_DATE('%Y-%m-%d', safe.PARSE_DATE('%Y%m%d', data_inscricao))as DATE) AS data_inscricao, + SAFE_CAST(id_imovel_receita_federal as STRING) id_imovel_receita_federal, + SAFE_CAST(id_imovel_incra as STRING) id_imovel_incra, + SAFE_CAST(nome as STRING) nome, + SAFE_CAST(area as FLOAT64) area, + SAFE_CAST(cd_rever as STRING) status_sncr, + SAFE_CAST(status_rever as STRING) tipo_itr, + SAFE_CAST(situacao as STRING) situacao_imovel, + SAFE_CAST(endereco as STRING) endereco, + SAFE_CAST(cep as STRING) cep, + SAFE_CAST(zona_redefinir as STRING) distrito, + SAFE_CAST(id_municipio as STRING) id_municipio, + SAFE_CAST(sigla_uf as STRING) sigla_uf, + --- esta coluna não é identifica no dicionário nem nomeada nos arquivos + --- SAFE_CAST(LOWER(status_rever) as STRING) coluna_nao_identificada, +FROM fixed_names AS t) +select * from +final +{% if is_incremental() %} +WHERE data_referencia > (SELECT MAX(data_referencia) FROM {{ this }} ) +{% endif %} diff --git a/models/br_rf_cafir/schema.yml b/models/br_rf_cafir/schema.yml new file mode 100644 index 00000000..e66e2c6d --- /dev/null +++ b/models/br_rf_cafir/schema.yml @@ -0,0 +1,47 @@ +version: 2 + +models: + - name: br_rf_cafir__imoveis_rurais + description: Cadastro de imóveis rurais + columns: + - name: data_referencia + description: Data de divulgação dos dados pela Receita Federal (RF) + - name: data_inscricao + description: Data de inscrição do imóvel no cadastro de imóveis rurais da Receita Federal (RF) + - name: id_imovel_receita_federal + description: Identificador do imóvel rural da RF + - name: id_imovel_incra + description: Identificador do imóvel do Instituto Nacional da Colonização e Reforma Agrária (INCRA) + - name: nome + description: Nome do imóvel + - name: area + description: Área do imóvel + - name: status_sncr + description: Status cadastral do imóvel no Sistema Nacional de Cadastro Rural (SNCR) do INCRA + - name: tipo_itr + description: Identifica tipo de incidência do Imposto Territórial Rural (ITR) + - name: situacao_imovel + description: Situação do imóvel no cadastro da RF + - name: endereco + description: Endereço + - name: cep + description: CEP + - name: distrito + description: Distrito do imóvel + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + - name: sigla_uf + description: Sigla da Unidade da Federação (UF) + - name: br_rf_cafir__dicionario + description: Dicionário de dados da tabela Imóveis Rurais + 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