From 6f0dbde1b89128b025625dd5ba6afc39d0105012 Mon Sep 17 00:00:00 2001 From: Ricardo Dahis Date: Wed, 13 Sep 2023 17:53:57 -0400 Subject: [PATCH 01/13] partition, new tables --- models/world_wb_mides/dicionario.sql | 13 +++++++++++++ models/world_wb_mides/licitacao.sql | 16 ++++++++++++++++ models/world_wb_mides/licitacao_item.sql | 18 +++++++++++++++++- .../world_wb_mides/licitacao_participante.sql | 16 ++++++++++++++++ .../world_wb_mides/orgao_unidade_gestora.sql | 18 ++++++++++++++++++ 5 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 models/world_wb_mides/dicionario.sql create mode 100644 models/world_wb_mides/orgao_unidade_gestora.sql diff --git a/models/world_wb_mides/dicionario.sql b/models/world_wb_mides/dicionario.sql new file mode 100644 index 00000000..0aeb8896 --- /dev/null +++ b/models/world_wb_mides/dicionario.sql @@ -0,0 +1,13 @@ +{{ + config( + schema = "world_wb_mides", + materialized = "table" + ) + }} +SELECT +SAFE_CAST(id_tabela AS STRING) id_tabela, +SAFE_CAST(coluna AS STRING) coluna, +SAFE_CAST(chave AS STRING) chave, +SAFE_CAST(cobertura_temporal AS STRING) cobertura_temporal, +SAFE_CAST(valor AS STRING) valor +FROM basedosdados-staging.world_wb_mides_staging.dicionario AS t \ No newline at end of file diff --git a/models/world_wb_mides/licitacao.sql b/models/world_wb_mides/licitacao.sql index 0ca260bb..f2e6073e 100644 --- a/models/world_wb_mides/licitacao.sql +++ b/models/world_wb_mides/licitacao.sql @@ -1,3 +1,19 @@ +{{ + config( + schema = "world_wb_mides", + materialized = "table", + partition_by = { + "field": "ano", + "data_type": "int64", + "range": { + "start": 2009, + "end": 2021, + "interval": 1} + }, + cluster_by = ["mes", "sigla_uf"], + labels = {"project_id": "basedosdados", "tema": "economia"} + ) + }} SELECT SAFE_CAST(ano AS INT64) ano, SAFE_CAST(mes AS INT64) mes, diff --git a/models/world_wb_mides/licitacao_item.sql b/models/world_wb_mides/licitacao_item.sql index 4132f2dc..9cb99f0b 100644 --- a/models/world_wb_mides/licitacao_item.sql +++ b/models/world_wb_mides/licitacao_item.sql @@ -1,3 +1,19 @@ +{{ + config( + schema = "world_wb_mides", + materialized = "table", + partition_by = { + "field": "ano", + "data_type": "int64", + "range": { + "start": 2009, + "end": 2022, + "interval": 1} + }, + cluster_by = ["sigla_uf"], + labels = {"project_id": "basedosdados", "tema": "economia"} + ) + }} SELECT SAFE_CAST(ano AS INT64) ano, SAFE_CAST(sigla_uf AS STRING) sigla_uf, @@ -23,4 +39,4 @@ SAFE_CAST(valor_proposta AS FLOAT64) valor_proposta, SAFE_CAST(valor_vencedor AS FLOAT64) valor_vencedor, SAFE_CAST(nome_vencedor AS STRING) nome_vencedor, SAFE_CAST(documento AS STRING) documento -FROM basedosdados-staging.world_wb_mides_staging.licitacao_item AS t \ No newline at end of file +FROM basedosdados-dev.world_wb_mides_staging.licitacao_item AS t \ No newline at end of file diff --git a/models/world_wb_mides/licitacao_participante.sql b/models/world_wb_mides/licitacao_participante.sql index 2d4dcc35..5b95b33f 100644 --- a/models/world_wb_mides/licitacao_participante.sql +++ b/models/world_wb_mides/licitacao_participante.sql @@ -1,3 +1,19 @@ +{{ + config( + schema = "world_wb_mides", + materialized = "table", + partition_by = { + "field": "ano", + "data_type": "int64", + "range": { + "start": 2009, + "end": 2021, + "interval": 1} + }, + cluster_by = ["sigla_uf"], + labels = {"project_id": "basedosdados", "tema": "economia"} + ) + }} SELECT SAFE_CAST(ano AS INT64) ano, SAFE_CAST(sigla_uf AS STRING) sigla_uf, diff --git a/models/world_wb_mides/orgao_unidade_gestora.sql b/models/world_wb_mides/orgao_unidade_gestora.sql new file mode 100644 index 00000000..589cf8f2 --- /dev/null +++ b/models/world_wb_mides/orgao_unidade_gestora.sql @@ -0,0 +1,18 @@ +{{ + config( + schema = "world_wb_mides", + materialized = "table", + cluster_by = ["sigla_uf"], + labels = {"project_id": "basedosdados", "tema": "economia"} + ) + }} +SELECT +SAFE_CAST(ano AS STRING) ano, +SAFE_CAST(sigla_uf AS STRING) sigla_uf, +SAFE_CAST(id_municipio AS STRING) id_municipio, +SAFE_CAST(orgao AS STRING) orgao, +SAFE_CAST(nome_orgao AS STRING) nome_orgao, +SAFE_CAST(id_unidade_gestora AS STRING) id_unidade_gestora, +SAFE_CAST(nome_unidade_gestora AS STRING) nome_unidade_gestora, +SAFE_CAST(esfera AS STRING) esfera +FROM basedosdados-staging.world_wb_mides_staging.orgao_unidade_gestora AS t \ No newline at end of file From 614706410d92f15677564d1307f29da323fd0dc7 Mon Sep 17 00:00:00 2001 From: rdahis Date: Wed, 13 Sep 2023 21:55:44 +0000 Subject: [PATCH 02/13] Update metadata --- metadata.json | 499 +++++++++++++++++++++++++++++++ models/world_wb_mides/schema.yml | 126 ++------ 2 files changed, 527 insertions(+), 98 deletions(-) diff --git a/metadata.json b/metadata.json index 7ed17dc0..71c50f44 100644 --- a/metadata.json +++ b/metadata.json @@ -5314,6 +5314,505 @@ "description": "Valor do reforço, caso haja incrementos" } ] + }, + { + "slug": "dicionario", + "name": "dicionario", + "description": "Dicionário", + "cloudTables": [ + { + "gcpProjectId": "basedosdados-dev", + "gcpDatasetId": "world_wb_mides", + "gcpTableId": "dicionario" + } + ], + "status": { + "name": "Em revisão", + "slug": "under_review" + }, + "license": null, + "pipeline": null, + "publishedBy": { + "firstName": "Ricardo", + "lastName": "Dahis", + "email": "rdahis@basedosdados.org" + }, + "dataCleanedBy": null, + "dataCleaningDescription": "", + "dataCleaningCodeUrl": null, + "rawDataUrl": null, + "auxiliaryFilesUrl": null, + "architectureUrl": "https://docs.google.com/spreadsheets/d/1u9WCJHFFT5U1ZBlhR0TsiNke7wou4p_GaDsjTkhE33Q/edit#gid=0", + "columns": [ + { + "name": "chave", + "description": "Chave" + }, + { + "name": "cobertura_temporal", + "description": "Cobertura Temporal" + }, + { + "name": "coluna", + "description": "Coluna" + }, + { + "name": "id_tabela", + "description": "ID Tabela" + }, + { + "name": "valor", + "description": "Valor" + } + ] + }, + { + "slug": "licitacao", + "name": "licitacao", + "description": "Dados a nível de licitação.", + "cloudTables": [ + { + "gcpProjectId": "basedosdados-dev", + "gcpDatasetId": "world_wb_mides", + "gcpTableId": "licitacao" + } + ], + "status": { + "name": "Publicado", + "slug": "published" + }, + "license": null, + "pipeline": null, + "publishedBy": { + "firstName": "Ricardo", + "lastName": "Dahis", + "email": "rdahis@basedosdados.org" + }, + "dataCleanedBy": null, + "dataCleaningDescription": "", + "dataCleaningCodeUrl": null, + "rawDataUrl": null, + "auxiliaryFilesUrl": null, + "architectureUrl": "https://docs.google.com/spreadsheets/d/1TEndIhxUmHeSadsSOFVI0ejyr-gqUIIZPsLVDqqOtxU/edit#gid=0", + "columns": [ + { + "name": "ano", + "description": "Ano" + }, + { + "name": "ano_processo", + "description": "Ano do processo" + }, + { + "name": "carona", + "description": "Licitação Carona" + }, + { + "name": "contratacao", + "description": "Contratação por Itens ou Lotes" + }, + { + "name": "covid_19", + "description": "Licitação ou dispensa no âmbito da COVID-19" + }, + { + "name": "data_abertura", + "description": "Data de Abertura" + }, + { + "name": "data_edital", + "description": "Data de Emissão do Edital" + }, + { + "name": "data_homologacao", + "description": "Data de Publicação da Homologação" + }, + { + "name": "data_publicacao_dispensa", + "description": "Data de Publicação da Dispensa" + }, + { + "name": "descricao_objeto", + "description": "Especificação do Objeto Licitado" + }, + { + "name": "estagio", + "description": "Estágio da Licitação" + }, + { + "name": "exclusiva_micro_pequena", + "description": "Destinação exclusiva a Microempresas e empresas de pequeno porte" + }, + { + "name": "forma_pagamento", + "description": "Forma de Pagamento" + }, + { + "name": "id_dispensa", + "description": "Código da Dispensa" + }, + { + "name": "id_licitacao", + "description": "Código da Licitação" + }, + { + "name": "id_licitacao_bd", + "description": "ID Licitação" + }, + { + "name": "id_municipio", + "description": "ID Município - IBGE 7 Dígitos" + }, + { + "name": "id_unidade_gestora", + "description": "ID Unidade Gestora" + }, + { + "name": "mes", + "description": "Mês" + }, + { + "name": "modalidade", + "description": "Modalidade da Licitação" + }, + { + "name": "natureza_objeto", + "description": "Natureza do Objeto" + }, + { + "name": "natureza_processo", + "description": "Natureza do Processo" + }, + { + "name": "orgao", + "description": "Órgão" + }, + { + "name": "preferencia_micro_pequena", + "description": "Preferência de contratação para as microempresas e empresas de pequeno porte" + }, + { + "name": "quantidade_convidados", + "description": "Número de convidados (modalidade convite)" + }, + { + "name": "sigla_uf", + "description": "Sigla da Unidade de Federação" + }, + { + "name": "situacao", + "description": "Situação da Licitação" + }, + { + "name": "tipo", + "description": "Tipo de Licitação - Critério de Julgamento" + }, + { + "name": "tipo_cadastro", + "description": "Tipo Cadastro (inicial ou retificação)" + }, + { + "name": "valor", + "description": "Valor da Licitação" + }, + { + "name": "valor_corrigido", + "description": "Valor Corrigido" + }, + { + "name": "valor_orcamento", + "description": "Valor do Orçamento" + } + ] + }, + { + "slug": "licitacao_item", + "name": "licitacao_item", + "description": "Dados a nível de licitação-item.", + "cloudTables": [ + { + "gcpProjectId": "basedosdados-dev", + "gcpDatasetId": "world_wb_mides", + "gcpTableId": "licitacao_item" + } + ], + "status": { + "name": "Publicado", + "slug": "published" + }, + "license": null, + "pipeline": null, + "publishedBy": { + "firstName": "Ricardo", + "lastName": "Dahis", + "email": "rdahis@basedosdados.org" + }, + "dataCleanedBy": null, + "dataCleaningDescription": "", + "dataCleaningCodeUrl": null, + "rawDataUrl": null, + "auxiliaryFilesUrl": null, + "architectureUrl": "https://docs.google.com/spreadsheets/d/130eUmTWz4hm1v5QyY47j4JVQ5KQfMXOtOun5Mo1GeJU/edit#gid=0", + "columns": [ + { + "name": "ano", + "description": "Ano" + }, + { + "name": "descricao", + "description": "Descrição do Item" + }, + { + "name": "documento", + "description": "CPF/CNPJ do vencedor" + }, + { + "name": "id_dispensa", + "description": "Código da Dispensa" + }, + { + "name": "id_item", + "description": "Código do Item" + }, + { + "name": "id_item_bd", + "description": "ID Item" + }, + { + "name": "id_licitacao", + "description": "Código da Licitação" + }, + { + "name": "id_licitacao_bd", + "description": "ID Licitação" + }, + { + "name": "id_municipio", + "description": "ID Município - IBGE 7 Dígitos" + }, + { + "name": "id_unidade_gestora", + "description": "ID Unidade Gestora" + }, + { + "name": "nome_vencedor", + "description": "Nome do vencedor" + }, + { + "name": "numero", + "description": "Número do item" + }, + { + "name": "numero_lote", + "description": "Número do lote" + }, + { + "name": "orgao", + "description": "ID Órgão" + }, + { + "name": "quantidade", + "description": "Quantidade Homologada" + }, + { + "name": "quantidade_cotada", + "description": "Quantidade Cotada" + }, + { + "name": "quantidade_proposta", + "description": "Quantidade da proposta" + }, + { + "name": "sigla_uf", + "description": "Sigla da Unidade de Federação" + }, + { + "name": "unidade_medida", + "description": "Unidade de medida" + }, + { + "name": "valor_proposta", + "description": "Valor unitário da proposta" + }, + { + "name": "valor_total", + "description": "Valor Total" + }, + { + "name": "valor_unitario", + "description": "Valor Unitário Homologado" + }, + { + "name": "valor_unitario_cotacao", + "description": "Valor Unitário Cotação" + }, + { + "name": "valor_vencedor", + "description": "Valor Homologado" + } + ] + }, + { + "slug": "licitacao_participante", + "name": "licitacao_participante", + "description": "Dados a nível de licitação-participante.", + "cloudTables": [ + { + "gcpProjectId": "basedosdados-dev", + "gcpDatasetId": "world_wb_mides", + "gcpTableId": "licitacao_participante" + } + ], + "status": { + "name": "Publicado", + "slug": "published" + }, + "license": null, + "pipeline": null, + "publishedBy": { + "firstName": "Ricardo", + "lastName": "Dahis", + "email": "rdahis@basedosdados.org" + }, + "dataCleanedBy": null, + "dataCleaningDescription": "", + "dataCleaningCodeUrl": null, + "rawDataUrl": null, + "auxiliaryFilesUrl": null, + "architectureUrl": "https://docs.google.com/spreadsheets/d/1vN4wnDt7lMA_osNLFe6C3mxGaDprg8fLemoxnLOYc9s/edit#gid=0", + "columns": [ + { + "name": "ano", + "description": "Ano" + }, + { + "name": "cep", + "description": "CEP" + }, + { + "name": "classificado", + "description": "Participante classificado" + }, + { + "name": "documento", + "description": "CPF/CNPJ do participante" + }, + { + "name": "endereco", + "description": "Endereço" + }, + { + "name": "habilitado", + "description": "Participante habilitado" + }, + { + "name": "id_dispensa", + "description": "Código da Dispensa" + }, + { + "name": "id_licitacao", + "description": "Código da Licitação" + }, + { + "name": "id_licitacao_bd", + "description": "ID Licitação" + }, + { + "name": "id_municipio", + "description": "ID Município - IBGE 7 Dígitos" + }, + { + "name": "id_unidade_gestora", + "description": "ID Unidade Gestora" + }, + { + "name": "municipio_participante", + "description": "Município do Participante" + }, + { + "name": "orgao", + "description": "Órgão" + }, + { + "name": "razao_social", + "description": "Razão Social" + }, + { + "name": "sigla_uf", + "description": "Sigla da Unidade de Federação" + }, + { + "name": "tipo", + "description": "PF ou PJ" + }, + { + "name": "vencedor", + "description": "Participante Vencedor" + } + ] + }, + { + "slug": "orgao_unidade_gestora", + "name": "orgao_unidade_gestora", + "description": "Dados auxiliares a nível de órgão e unidade gestora.", + "cloudTables": [ + { + "gcpProjectId": "basedosdados-dev", + "gcpDatasetId": "world_wb_mides", + "gcpTableId": "orgao_unidade_gestora" + } + ], + "status": { + "name": "Em revisão", + "slug": "under_review" + }, + "license": null, + "pipeline": null, + "publishedBy": { + "firstName": "Ricardo", + "lastName": "Dahis", + "email": "rdahis@basedosdados.org" + }, + "dataCleanedBy": null, + "dataCleaningDescription": "", + "dataCleaningCodeUrl": null, + "rawDataUrl": null, + "auxiliaryFilesUrl": null, + "architectureUrl": "https://docs.google.com/spreadsheets/d/18LUGzMtU0qxQ1CKAR0LJn9DbMpUI0tJsgNRMXumtg28/edit#gid=0", + "columns": [ + { + "name": "ano", + "description": "Ano" + }, + { + "name": "esfera", + "description": "Esfera (e.g. municipal, intermunicipal, estadual, federal)" + }, + { + "name": "id_municipio", + "description": "ID Município - IBGE 7 Dígitos" + }, + { + "name": "id_unidade_gestora", + "description": "Código da unidade gestora a qual a operação está vinculada" + }, + { + "name": "nome_orgao", + "description": "Nome do órgão" + }, + { + "name": "nome_unidade_gestora", + "description": "Nome da unidade gestora" + }, + { + "name": "orgao", + "description": "Código do órgão ao qual a operação (empenho, liquidação, pagamento ou licitação) está vinculada" + }, + { + "name": "sigla_uf", + "description": "Sigla da Unidade da Federação" + } + ] } ] }, diff --git a/models/world_wb_mides/schema.yml b/models/world_wb_mides/schema.yml index 22f22870..842e1cc7 100644 --- a/models/world_wb_mides/schema.yml +++ b/models/world_wb_mides/schema.yml @@ -44,7 +44,8 @@ models : - name: subfuncao description: Descrição da subfunção orçamentária. - name: valor_ajuste - description: Valor de correção entre o valor final e valor inicial na ausência da identificação da despesa + description: Valor de correção entre o valor final e valor inicial na ausência + da identificação da despesa - name: valor_anulacao description: Valor da anulação, caso haja deduções - name: valor_final @@ -53,6 +54,19 @@ models : description: Valor bruto do empenho - name: valor_reforco description: Valor do reforço, caso haja incrementos + - name: dicionario + description: Dicionário + columns: + - name: chave + description: Chave + - name: cobertura_temporal + description: Cobertura Temporal + - name: coluna + description: Coluna + - name: id_tabela + description: ID Tabela + - name: valor + description: Valor - name: licitacao description: Dados a nível de licitação. columns: @@ -103,7 +117,8 @@ models : - name: orgao description: Órgão - name: preferencia_micro_pequena - description: Preferência de contratação para as microempresas e empresas de pequeno porte + description: Preferência de contratação para as microempresas e empresas de + pequeno porte - name: quantidade_convidados description: Número de convidados (modalidade convite) - name: sigla_uf @@ -208,108 +223,23 @@ models : description: PF ou PJ - name: vencedor description: Participante Vencedor - - name: liquidacao - description: Dados a nível de liquidação. - columns: - - name: ano - description: Ano - - name: data - description: Data - - name: documento_responsavel - description: Número do documento do liquidante - - name: id_empenho - description: Sequencial identificador do empenho - - name: id_empenho_bd - description: Código único de identificação do empenho - - name: id_liquidacao - description: Sequencial identificador da liquidação - - name: id_liquidacao_bd - description: Código único de identificação da liquidação - - name: id_municipio - description: ID Município - IBGE 7 Dígitos - - name: id_unidade_gestora - description: ID Unidade Gestora - - name: indicador_restos_pagar - description: Indica se o pagamento é realizado em exercício diferente - - name: mes - description: Mês - - name: nome_responsavel - description: Nome do liquidante - - name: numero_liquidacao - description: Número da liquidação - - name: orgao - description: Órgão Adminsitrativo - - name: sigla_uf - description: Sigla da Unidade da Federação - - name: valor_anulacao - description: Valor da anulação ou estorno caso haja deduções - - name: valor_liquidacao - description: Valor líquido da liquidação - - name: valor_liquidacao_original - description: Valor bruto liquidado - - name: pagamento - description: Dados a nível de pagamento. + - name: orgao_unidade_gestora + description: Dados auxiliares a nível de órgão e unidade gestora. columns: - name: ano description: Ano - - name: credor - description: Nome/Razão Social do credor - - name: data - description: Data - - name: documento_credor - description: Número do documento do credor - - name: fonte - description: Fonte do recurso - - name: id_empenho - description: Sequencial identificador do empenho - - name: id_empenho_bd - description: Código único de identificação do empenho - - name: id_liquidacao - description: Sequencial identificador da liquidação - - name: id_liquidacao_bd - description: Código único de identificação da licitação + - name: esfera + description: Esfera (e.g. municipal, intermunicipal, estadual, federal) - name: id_municipio description: ID Município - IBGE 7 Dígitos - - name: id_pagamento - description: Sequencial identificador do pagamento - - name: id_pagamento_bd - description: Código único de identificação do pagamento - name: id_unidade_gestora - description: Descrição Unidade Gestora - - name: indicador_restos_pagar - description: Indica se o pagamento é realizado em exercício diferente - - name: mes - description: Mês - - name: numero_empenho - description: Número do empenho - - name: numero_liquidacao - description: Número da liquidação - - name: numero_pagamento - description: Número do pagamento + description: Código da unidade gestora a qual a operação está vinculada + - name: nome_orgao + description: Nome do órgão + - name: nome_unidade_gestora + description: Nome da unidade gestora - name: orgao - description: Órgão Adminsitrativo + description: Código do órgão ao qual a operação (empenho, liquidação, pagamento + ou licitação) está vinculada - name: sigla_uf description: Sigla da Unidade da Federação - - name: valor_ajuste - description: Valor ajuste - - name: valor_anulacao - description: Somatório de deduções e anulações - - name: valor_final - description: Resultado do valor original descontado das deduções - - name: valor_inicial - description: Valor pago na fonte - - name: valor_liquido_recebido - description: Resultado do valor original descontado das deduções - - name: relacionamentos - description: Dados a nível de relacionamento. - columns: - - name: ano - description: Ano - - name: id_empenho - description: Código do Empenho - - name: id_licitacao - description: Código da Licitação - - name: id_municipio - description: ID Município - IBGE 7 Dígitos - - name: sigla_uf - description: Sigla da Unidade de Federação \ No newline at end of file From 90af0973f2806a40ee8c8b4539afa9912df0b164 Mon Sep 17 00:00:00 2001 From: Lucas Moreira <65978482+lucasnascm@users.noreply.github.com> Date: Fri, 15 Sep 2023 16:18:44 -0300 Subject: [PATCH 03/13] fix RS payments --- models/world_wb_mides/pagamento.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/world_wb_mides/pagamento.sql b/models/world_wb_mides/pagamento.sql index fb04cc7f..c4be21cb 100644 --- a/models/world_wb_mides/pagamento.sql +++ b/models/world_wb_mides/pagamento.sql @@ -305,7 +305,7 @@ pago_pb AS ( FROM `basedosdados-dev.world_wb_mides_staging.raw_despesa_rs` AS c LEFT JOIN `basedosdados-dev.world_wb_mides_staging.aux_orgao_rs` AS a ON c.cd_orgao = a.cd_orgao LEFT JOIN `basedosdados.br_bd_diretorios_brasil.municipio` m ON m.id_municipio = a.id_municipio - WHERE tipo_operacao = 'P' AND (SAFE_CAST(vl_liquidacao AS FLOAT64) >= 0) + WHERE tipo_operacao = 'P' AND (SAFE_CAST(vl_pagamento AS FLOAT64) >= 0) GROUP BY 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 ), estorno_rs AS ( @@ -315,7 +315,7 @@ pago_pb AS ( FROM `basedosdados-dev.world_wb_mides_staging.raw_despesa_rs` AS c LEFT JOIN `basedosdados-dev.world_wb_mides_staging.aux_orgao_rs` AS a ON c.cd_orgao = a.cd_orgao LEFT JOIN `basedosdados.br_bd_diretorios_brasil.municipio` m ON m.id_municipio = a.id_municipio - WHERE tipo_operacao = 'P' AND (SAFE_CAST(vl_liquidacao AS FLOAT64) < 0) + WHERE tipo_operacao = 'P' AND (SAFE_CAST(vl_pagamento AS FLOAT64) < 0) GROUP BY 1 ), frequencia_rs AS ( From ae125ff272c654090c3f9dbcbc1c178459c1e2dd Mon Sep 17 00:00:00 2001 From: Ricardo Dahis Date: Wed, 20 Sep 2023 10:08:01 -0400 Subject: [PATCH 04/13] fix dev to staging --- models/world_wb_mides/licitacao_item.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/world_wb_mides/licitacao_item.sql b/models/world_wb_mides/licitacao_item.sql index 9cb99f0b..00976f19 100644 --- a/models/world_wb_mides/licitacao_item.sql +++ b/models/world_wb_mides/licitacao_item.sql @@ -39,4 +39,4 @@ SAFE_CAST(valor_proposta AS FLOAT64) valor_proposta, SAFE_CAST(valor_vencedor AS FLOAT64) valor_vencedor, SAFE_CAST(nome_vencedor AS STRING) nome_vencedor, SAFE_CAST(documento AS STRING) documento -FROM basedosdados-dev.world_wb_mides_staging.licitacao_item AS t \ No newline at end of file +FROM basedosdados-staging.world_wb_mides_staging.licitacao_item AS t \ No newline at end of file From 404b6c93f0c9129e49c689b08b76cde4af1a4733 Mon Sep 17 00:00:00 2001 From: Ricardo Dahis Date: Wed, 20 Sep 2023 10:38:57 -0400 Subject: [PATCH 05/13] fix alias --- .../{dicionario.sql => world_wb_mides__dicionario.sql} | 1 + 1 file changed, 1 insertion(+) rename models/world_wb_mides/{dicionario.sql => world_wb_mides__dicionario.sql} (93%) diff --git a/models/world_wb_mides/dicionario.sql b/models/world_wb_mides/world_wb_mides__dicionario.sql similarity index 93% rename from models/world_wb_mides/dicionario.sql rename to models/world_wb_mides/world_wb_mides__dicionario.sql index 0aeb8896..3f7b74ff 100644 --- a/models/world_wb_mides/dicionario.sql +++ b/models/world_wb_mides/world_wb_mides__dicionario.sql @@ -1,5 +1,6 @@ {{ config( + alias = 'dicionario', schema = "world_wb_mides", materialized = "table" ) From ab933344ab6db1057aa474b689700c103af8d221 Mon Sep 17 00:00:00 2001 From: Ricardo Dahis Date: Wed, 20 Sep 2023 10:43:26 -0400 Subject: [PATCH 06/13] to force table approve --- models/world_wb_mides/licitacao.sql | 2 +- models/world_wb_mides/licitacao_item.sql | 2 +- models/world_wb_mides/licitacao_participante.sql | 2 +- models/world_wb_mides/orgao_unidade_gestora.sql | 2 +- models/world_wb_mides/pagamento.sql | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/models/world_wb_mides/licitacao.sql b/models/world_wb_mides/licitacao.sql index f2e6073e..22564211 100644 --- a/models/world_wb_mides/licitacao.sql +++ b/models/world_wb_mides/licitacao.sql @@ -1,4 +1,4 @@ -{{ +{{ config( schema = "world_wb_mides", materialized = "table", diff --git a/models/world_wb_mides/licitacao_item.sql b/models/world_wb_mides/licitacao_item.sql index 00976f19..28d6eaef 100644 --- a/models/world_wb_mides/licitacao_item.sql +++ b/models/world_wb_mides/licitacao_item.sql @@ -1,4 +1,4 @@ -{{ +{{ config( schema = "world_wb_mides", materialized = "table", diff --git a/models/world_wb_mides/licitacao_participante.sql b/models/world_wb_mides/licitacao_participante.sql index 5b95b33f..f3903e64 100644 --- a/models/world_wb_mides/licitacao_participante.sql +++ b/models/world_wb_mides/licitacao_participante.sql @@ -1,4 +1,4 @@ -{{ +{{ config( schema = "world_wb_mides", materialized = "table", diff --git a/models/world_wb_mides/orgao_unidade_gestora.sql b/models/world_wb_mides/orgao_unidade_gestora.sql index 589cf8f2..4d99446a 100644 --- a/models/world_wb_mides/orgao_unidade_gestora.sql +++ b/models/world_wb_mides/orgao_unidade_gestora.sql @@ -1,4 +1,4 @@ -{{ +{{ config( schema = "world_wb_mides", materialized = "table", diff --git a/models/world_wb_mides/pagamento.sql b/models/world_wb_mides/pagamento.sql index eb65ca8d..3768cb68 100644 --- a/models/world_wb_mides/pagamento.sql +++ b/models/world_wb_mides/pagamento.sql @@ -1,4 +1,4 @@ -{{ +{{ config( schema='world_wb_mides', materialized='table', From b9faf9e1434b6399f34fd9c9accd634812af79ec Mon Sep 17 00:00:00 2001 From: Ricardo Dahis Date: Wed, 20 Sep 2023 11:14:16 -0400 Subject: [PATCH 07/13] fix schema.yml --- models/world_wb_mides/schema.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/world_wb_mides/schema.yml b/models/world_wb_mides/schema.yml index 842e1cc7..395c7ea5 100644 --- a/models/world_wb_mides/schema.yml +++ b/models/world_wb_mides/schema.yml @@ -54,7 +54,7 @@ models : description: Valor bruto do empenho - name: valor_reforco description: Valor do reforço, caso haja incrementos - - name: dicionario + - name: world_wb_mides__dicionario description: Dicionário columns: - name: chave From 6b2bd50ebfbaf705ede79218bd680ea1efb0ff93 Mon Sep 17 00:00:00 2001 From: Ricardo Dahis Date: Wed, 20 Sep 2023 11:16:21 -0400 Subject: [PATCH 08/13] force table approve --- models/world_wb_mides/licitacao.sql | 2 +- models/world_wb_mides/licitacao_item.sql | 2 +- models/world_wb_mides/licitacao_participante.sql | 2 +- models/world_wb_mides/orgao_unidade_gestora.sql | 2 +- models/world_wb_mides/pagamento.sql | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/models/world_wb_mides/licitacao.sql b/models/world_wb_mides/licitacao.sql index 22564211..f2e6073e 100644 --- a/models/world_wb_mides/licitacao.sql +++ b/models/world_wb_mides/licitacao.sql @@ -1,4 +1,4 @@ -{{ +{{ config( schema = "world_wb_mides", materialized = "table", diff --git a/models/world_wb_mides/licitacao_item.sql b/models/world_wb_mides/licitacao_item.sql index 28d6eaef..00976f19 100644 --- a/models/world_wb_mides/licitacao_item.sql +++ b/models/world_wb_mides/licitacao_item.sql @@ -1,4 +1,4 @@ -{{ +{{ config( schema = "world_wb_mides", materialized = "table", diff --git a/models/world_wb_mides/licitacao_participante.sql b/models/world_wb_mides/licitacao_participante.sql index f3903e64..5b95b33f 100644 --- a/models/world_wb_mides/licitacao_participante.sql +++ b/models/world_wb_mides/licitacao_participante.sql @@ -1,4 +1,4 @@ -{{ +{{ config( schema = "world_wb_mides", materialized = "table", diff --git a/models/world_wb_mides/orgao_unidade_gestora.sql b/models/world_wb_mides/orgao_unidade_gestora.sql index 4d99446a..589cf8f2 100644 --- a/models/world_wb_mides/orgao_unidade_gestora.sql +++ b/models/world_wb_mides/orgao_unidade_gestora.sql @@ -1,4 +1,4 @@ -{{ +{{ config( schema = "world_wb_mides", materialized = "table", diff --git a/models/world_wb_mides/pagamento.sql b/models/world_wb_mides/pagamento.sql index 3768cb68..eb65ca8d 100644 --- a/models/world_wb_mides/pagamento.sql +++ b/models/world_wb_mides/pagamento.sql @@ -1,4 +1,4 @@ -{{ +{{ config( schema='world_wb_mides', materialized='table', From d03ace3af76d6b358820c27dac7163a5b41849a0 Mon Sep 17 00:00:00 2001 From: folhesgabriel Date: Wed, 20 Sep 2023 13:47:46 -0300 Subject: [PATCH 09/13] Registra novos modelos dbt da cvm --- ...dministradores_carteira__pessoa_fisica.sql | 30 +++++++++++++++++++ ...nistradores_carteira__pessoa_juridica.sql} | 22 ++++++++++++++ ...administradores_carteira__responsavel.sql} | 7 +++++ .../pessoa_fisica.sql | 9 ------ .../schema.yml | 12 ++++---- ..._cvm_oferta_publica_distribuicao__dia.sql} | 22 ++++++++++++++ .../schema.yml | 4 +-- 7 files changed, 89 insertions(+), 17 deletions(-) create mode 100644 models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql rename models/br_cvm_administradores_carteira/{pessoa_juridica.sql => br_cvm_administradores_carteira__pessoa_juridica.sql} (58%) rename models/br_cvm_administradores_carteira/{responsavel.sql => br_cvm_administradores_carteira__responsavel.sql} (58%) delete mode 100644 models/br_cvm_administradores_carteira/pessoa_fisica.sql rename models/br_cvm_oferta_publica_distribuicao/{dia.sql => br_cvm_oferta_publica_distribuicao__dia.sql} (73%) diff --git a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql new file mode 100644 index 00000000..fda0dbba --- /dev/null +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql @@ -0,0 +1,30 @@ +{{ + config( + alias = 'pessoa_fisica', + schema='br_cvm_administradores_carteira', + materialized='incremental', + partition_by = { + "field": "data_registro", + "data_type": "date", + "granularity": "day" + }, + 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(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), 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_registro) = EXTRACT(YEAR from DATE("{{ run_started_at.strftime("%Y-%m-%d") }}")))' ] + ) + }} +SELECT +SAFE_CAST(nome AS STRING) nome, +SAFE_CAST(data_registro AS DATE) data_registro, +SAFE_CAST(data_cancelamento AS DATE) data_cancelamento, +SAFE_CAST(motivo_cancelamento AS STRING) motivo_cancelamento, +SAFE_CAST(situacao AS STRING) situacao, +SAFE_CAST(data_inicio_situacao AS DATE) data_inicio_situacao, +SAFE_CAST(categoria_registro AS STRING) categoria_registro +FROM basedosdados-staging.br_cvm_administradores_carteira_staging.pessoa_fisica AS t diff --git a/models/br_cvm_administradores_carteira/pessoa_juridica.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql similarity index 58% rename from models/br_cvm_administradores_carteira/pessoa_juridica.sql rename to models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql index 9ba9e906..c8cce57a 100644 --- a/models/br_cvm_administradores_carteira/pessoa_juridica.sql +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql @@ -1,3 +1,25 @@ +{{ + config( + alias = 'pessoa_juridica', + schema='br_cvm_administradores_carteira', + materialized='incremental', + partition_by = { + "field": "data_registro", + "data_type": "date", + "granularity": "day" + }, + 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(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), 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_registro) = EXTRACT(YEAR from DATE("{{ run_started_at.strftime("%Y-%m-%d") }}")))' ] + ) + }} + SELECT SAFE_CAST(cnpj AS STRING) cnpj, SAFE_CAST(denominacao_social AS STRING) denominacao_social, diff --git a/models/br_cvm_administradores_carteira/responsavel.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__responsavel.sql similarity index 58% rename from models/br_cvm_administradores_carteira/responsavel.sql rename to models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__responsavel.sql index 17a538d5..b7e39c3a 100644 --- a/models/br_cvm_administradores_carteira/responsavel.sql +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__responsavel.sql @@ -1,3 +1,10 @@ +{{ + config( + alias = 'responsavel', + schema='br_cvm_administradores_carteira', + materialized='incremental', + ) + }} SELECT SAFE_CAST(cnpj AS STRING) cnpj, SAFE_CAST(nome AS STRING) nome, diff --git a/models/br_cvm_administradores_carteira/pessoa_fisica.sql b/models/br_cvm_administradores_carteira/pessoa_fisica.sql deleted file mode 100644 index 5ff17cdb..00000000 --- a/models/br_cvm_administradores_carteira/pessoa_fisica.sql +++ /dev/null @@ -1,9 +0,0 @@ -SELECT -SAFE_CAST(nome AS STRING) nome, -SAFE_CAST(data_registro AS DATE) data_registro, -SAFE_CAST(data_cancelamento AS DATE) data_cancelamento, -SAFE_CAST(motivo_cancelamento AS STRING) motivo_cancelamento, -SAFE_CAST(situacao AS STRING) situacao, -SAFE_CAST(data_inicio_situacao AS DATE) data_inicio_situacao, -SAFE_CAST(categoria_registro AS STRING) categoria_registro -FROM basedosdados-staging.br_cvm_administradores_carteira_staging.pessoa_fisica AS t diff --git a/models/br_cvm_administradores_carteira/schema.yml b/models/br_cvm_administradores_carteira/schema.yml index bfe3771c..5c806e22 100644 --- a/models/br_cvm_administradores_carteira/schema.yml +++ b/models/br_cvm_administradores_carteira/schema.yml @@ -1,8 +1,8 @@ version: 2 models: - - name: pessoa_fisica - description: "dbt model for pessoa_fisica" + - name: br_cvm_administradores_carteira__pessoa_fisica + description: Dados Cadastrais de Administradores de Carteira da CVM (Pessoa Física) columns: - name: nome description: Nome @@ -18,8 +18,8 @@ models: description: Data de início da situação - name: categoria_registro description: Categoria de registro - - name: pessoa_juridica - description: "dbt model for pessoa_juridica" + - name: br_cvm_administradores_carteira__pessoa_juridica + description: Dados Cadastrais de Administradores de Carteira da CVM (Pessoa Jurídica) columns: - name: cnpj description: Cadastro Nacional de Pessoas Jurídicas (CNPJ) @@ -69,8 +69,8 @@ models: description: Email - name: website description: Website - - name: responsavel - description: "dbt model for responsavel" + - name: br_cvm_administradores_carteira__responsavel + description: Dados Cadastrais de Administradores de Carteira da CVM. columns: - name: cnpj description: Cadastro Nacional de Pessoas Jurídicas (CNPJ) diff --git a/models/br_cvm_oferta_publica_distribuicao/dia.sql b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql similarity index 73% rename from models/br_cvm_oferta_publica_distribuicao/dia.sql rename to models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql index 57996280..5d8fcfd7 100644 --- a/models/br_cvm_oferta_publica_distribuicao/dia.sql +++ b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql @@ -1,3 +1,25 @@ +{{ + config( + alias = 'dia', + schema='br_cvm_oferta_publica_distribuicao', + materialized='incremental', + partition_by = { + "field": "data_abertura_processo", + "data_type": "date", + "granularity": "day" + }, + 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(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_abertura_processo), 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_abertura_processo) = EXTRACT(YEAR from DATE("{{ run_started_at.strftime("%Y-%m-%d") }}")))' ] + ) + }} + SELECT SAFE_CAST(numero_processo AS STRING) numero_processo, SAFE_CAST(numero_registro_oferta AS STRING) numero_registro_oferta, diff --git a/models/br_cvm_oferta_publica_distribuicao/schema.yml b/models/br_cvm_oferta_publica_distribuicao/schema.yml index 7d908b1b..a0f92c57 100644 --- a/models/br_cvm_oferta_publica_distribuicao/schema.yml +++ b/models/br_cvm_oferta_publica_distribuicao/schema.yml @@ -1,8 +1,8 @@ version: 2 models: - - name: dia - description: "dbt model for table dia" + - name: br_cvm_oferta_publica_distribuicao__dia + description: Ofertas de distribuição (ações, fundos, debêntures, CRI, etc) registradas ou dispensadas de registro. columns: - name: numero_processo description: Número do processo administrativo From e918073a9bc7c27d8668cb1f6bdedd6d3ac57899 Mon Sep 17 00:00:00 2001 From: folhesgabriel Date: Wed, 20 Sep 2023 16:10:02 -0300 Subject: [PATCH 10/13] =?UTF-8?q?faz=20altera=C3=A7=C3=B5es=20solicitadas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...r_cvm_administradores_carteira__pessoa_fisica.sql | 9 ++++++++- ...cvm_administradores_carteira__pessoa_juridica.sql | 11 +++++++++-- .../br_cvm_administradores_carteira__responsavel.sql | 4 ++-- .../br_cvm_oferta_publica_distribuicao__dia.sql | 12 +++++++++--- 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql index fda0dbba..88e2b59d 100644 --- a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql @@ -16,7 +16,7 @@ '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_registro) = EXTRACT(YEAR from DATE("{{ run_started_at.strftime("%Y-%m-%d") }}")))' ] + FILTER USING DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) =< 6)'] ) }} SELECT @@ -28,3 +28,10 @@ SAFE_CAST(situacao AS STRING) situacao, SAFE_CAST(data_inicio_situacao AS DATE) data_inicio_situacao, SAFE_CAST(categoria_registro AS STRING) categoria_registro FROM basedosdados-staging.br_cvm_administradores_carteira_staging.pessoa_fisica AS t +{% if is_incremental() %} + + -- this filter will only be applied on an incremental run + -- (uses > to include records whose timestamp occurred since the last run of this model) + where data_registro > (select max(data_registro) from {{ this }}) + +{% endif %} \ No newline at end of file diff --git a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql index c8cce57a..af09a6ca 100644 --- a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql @@ -16,7 +16,7 @@ '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_registro) = EXTRACT(YEAR from DATE("{{ run_started_at.strftime("%Y-%m-%d") }}")))' ] + FILTER USING DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) =< 6)' ] ) }} @@ -45,4 +45,11 @@ SAFE_CAST(valor_patrimonial_liquido AS STRING) valor_patrimonial_liquido, SAFE_CAST(data_patrimonio_liquido AS DATE) data_patrimonio_liquido, SAFE_CAST(email AS STRING) email, SAFE_CAST(website AS STRING) website -FROM basedosdados-staging.br_cvm_administradores_carteira_staging.pessoa_juridica AS t \ No newline at end of file +FROM basedosdados-staging.br_cvm_administradores_carteira_staging.pessoa_juridica AS t +{% if is_incremental() %} + + -- this filter will only be applied on an incremental run + -- (uses > to include records whose timestamp occurred since the last run of this model) + where data_registro > (select max(data_registro) from {{ this }}) + +{% endif %} \ No newline at end of file diff --git a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__responsavel.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__responsavel.sql index b7e39c3a..8b29e4e5 100644 --- a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__responsavel.sql +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__responsavel.sql @@ -2,11 +2,11 @@ config( alias = 'responsavel', schema='br_cvm_administradores_carteira', - materialized='incremental', + materialized='table', ) }} SELECT SAFE_CAST(cnpj AS STRING) cnpj, SAFE_CAST(nome AS STRING) nome, SAFE_CAST(tipo AS STRING) tipo -FROM basedosdados-staging.br_cvm_administradores_carteira_staging.responsavel AS t \ No newline at end of file +FROM basedosdados-staging.br_cvm_administradores_carteira_staging.responsavel AS t diff --git a/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql index 5d8fcfd7..7207df9d 100644 --- a/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql +++ b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql @@ -12,12 +12,11 @@ post_hook=['CREATE OR REPLACE ROW ACCESS POLICY allusers_filter ON {{this}} GRANT TO ("allUsers") - FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_abertura_processo), MONTH) > 6)', + FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), 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_abertura_processo) = EXTRACT(YEAR from DATE("{{ run_started_at.strftime("%Y-%m-%d") }}")))' ] - ) + FILTER USING DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) =< 6)'] }} SELECT @@ -66,3 +65,10 @@ SAFE_CAST(tipo_fundo_investimento AS STRING) tipo_fundo_investimento, SAFE_CAST(ultimo_comunicado AS STRING) ultimo_comunicado, SAFE_CAST(data_comunicado AS DATE) data_comunicado FROM basedosdados-staging.br_cvm_oferta_publica_distribuicao_staging.dia AS t +{% if is_incremental() %} + + -- this filter will only be applied on an incremental run + -- (uses > to include records whose timestamp occurred since the last run of this model) + where data_registro > (select max(data_registro) from {{ this }}) + +{% endif %} \ No newline at end of file From 1d9ec169e4a1c7fae7f3625d3e860bc5f8af9158 Mon Sep 17 00:00:00 2001 From: folhesgabriel Date: Wed, 20 Sep 2023 16:14:29 -0300 Subject: [PATCH 11/13] =?UTF-8?q?Faz=20altera=C3=A7=C3=B5es=20solicitadas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../br_cvm_administradores_carteira__pessoa_fisica.sql | 6 ++++-- .../br_cvm_administradores_carteira__pessoa_juridica.sql | 6 ++++-- .../br_cvm_oferta_publica_distribuicao__dia.sql | 6 ++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql index 88e2b59d..155511b5 100644 --- a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql @@ -19,7 +19,7 @@ FILTER USING DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) =< 6)'] ) }} -SELECT +WITH tabela as( SELECT SAFE_CAST(nome AS STRING) nome, SAFE_CAST(data_registro AS DATE) data_registro, SAFE_CAST(data_cancelamento AS DATE) data_cancelamento, @@ -27,7 +27,9 @@ SAFE_CAST(motivo_cancelamento AS STRING) motivo_cancelamento, SAFE_CAST(situacao AS STRING) situacao, SAFE_CAST(data_inicio_situacao AS DATE) data_inicio_situacao, SAFE_CAST(categoria_registro AS STRING) categoria_registro -FROM basedosdados-staging.br_cvm_administradores_carteira_staging.pessoa_fisica AS t +FROM basedosdados-staging.br_cvm_administradores_carteira_staging.pessoa_fisica AS t) +select * +from tabela {% if is_incremental() %} -- this filter will only be applied on an incremental run diff --git a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql index af09a6ca..c5438593 100644 --- a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql @@ -20,7 +20,7 @@ ) }} -SELECT +WITH tabela as(SELECT SAFE_CAST(cnpj AS STRING) cnpj, SAFE_CAST(denominacao_social AS STRING) denominacao_social, SAFE_CAST(denominacao_comercial AS STRING) denominacao_comercial, @@ -45,7 +45,9 @@ SAFE_CAST(valor_patrimonial_liquido AS STRING) valor_patrimonial_liquido, SAFE_CAST(data_patrimonio_liquido AS DATE) data_patrimonio_liquido, SAFE_CAST(email AS STRING) email, SAFE_CAST(website AS STRING) website -FROM basedosdados-staging.br_cvm_administradores_carteira_staging.pessoa_juridica AS t +FROM basedosdados-staging.br_cvm_administradores_carteira_staging.pessoa_juridica AS t) +select * +from tabela {% if is_incremental() %} -- this filter will only be applied on an incremental run diff --git a/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql index 7207df9d..4e85dc12 100644 --- a/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql +++ b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql @@ -19,7 +19,7 @@ FILTER USING DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) =< 6)'] }} -SELECT +WITH tabela as(SELECT SAFE_CAST(numero_processo AS STRING) numero_processo, SAFE_CAST(numero_registro_oferta AS STRING) numero_registro_oferta, SAFE_CAST(tipo_oferta AS STRING) tipo_oferta, @@ -64,7 +64,9 @@ SAFE_CAST(tipo_societario_emissor AS STRING) tipo_societario_emissor, SAFE_CAST(tipo_fundo_investimento AS STRING) tipo_fundo_investimento, SAFE_CAST(ultimo_comunicado AS STRING) ultimo_comunicado, SAFE_CAST(data_comunicado AS DATE) data_comunicado -FROM basedosdados-staging.br_cvm_oferta_publica_distribuicao_staging.dia AS t +FROM basedosdados-staging.br_cvm_oferta_publica_distribuicao_staging.dia AS t) +SELECT * +FROM tabela {% if is_incremental() %} -- this filter will only be applied on an incremental run From 8db351cc3ec4a455d99bc89eedc8b54da4883547 Mon Sep 17 00:00:00 2001 From: folhesgabriel Date: Wed, 20 Sep 2023 16:20:10 -0300 Subject: [PATCH 12/13] =?UTF-8?q?Corrige=20nome=20da=20vari=C3=A1vel=20de?= =?UTF-8?q?=20data=20na=20tabela=20dia?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../br_cvm_oferta_publica_distribuicao__dia.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql index 4e85dc12..af956724 100644 --- a/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql +++ b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql @@ -71,6 +71,6 @@ FROM tabela -- this filter will only be applied on an incremental run -- (uses > to include records whose timestamp occurred since the last run of this model) - where data_registro > (select max(data_registro) from {{ this }}) + where data_abertura_processo > (select max(data_abertura_processo) from {{ this }}) {% endif %} \ No newline at end of file From ce1892630a2618ef2b0b401210b6f8395fffffa6 Mon Sep 17 00:00:00 2001 From: folhesgabriel Date: Wed, 20 Sep 2023 16:36:32 -0300 Subject: [PATCH 13/13] Insere modelos testados em dev --- .../br_cvm_administradores_carteira__pessoa_fisica.sql | 2 +- .../br_cvm_administradores_carteira__pessoa_juridica.sql | 2 +- .../br_cvm_oferta_publica_distribuicao__dia.sql | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql index 155511b5..77616332 100644 --- a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql @@ -16,7 +16,7 @@ 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter ON {{this}} GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") - FILTER USING DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) =< 6)'] + FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) <= 6)'] ) }} WITH tabela as( SELECT diff --git a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql index c5438593..1758f79b 100644 --- a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql @@ -16,7 +16,7 @@ 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter ON {{this}} GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") - FILTER USING DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) =< 6)' ] + FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) <= 6)' ] ) }} diff --git a/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql index af956724..90fedc02 100644 --- a/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql +++ b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql @@ -12,11 +12,12 @@ post_hook=['CREATE OR REPLACE ROW ACCESS POLICY allusers_filter ON {{this}} GRANT TO ("allUsers") - FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) > 6)', + FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_abertura_processo), 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 DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) =< 6)'] + FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_abertura_processo), MONTH) <= 6)'] + ) }} WITH tabela as(SELECT