diff --git a/models/br_me_caged/microdados_movimentacao.sql b/models/br_me_caged/br_me_caged__microdados_movimentacao.sql similarity index 86% rename from models/br_me_caged/microdados_movimentacao.sql rename to models/br_me_caged/br_me_caged__microdados_movimentacao.sql index 63f2fe6b..8d413d09 100644 --- a/models/br_me_caged/microdados_movimentacao.sql +++ b/models/br_me_caged/br_me_caged__microdados_movimentacao.sql @@ -1,17 +1,19 @@ {{ config( schema="br_me_caged", - materialized="table", + materialized="incremental", + alias="microdados_movimentacao", partition_by={ "field": "ano", "data_type": "int64", - "range": {"start": 2020, "end": 2024, "interval": 1}, + "range": {"start": 2020, "end": 2025, "interval": 1}, }, cluster_by=["mes", "sigla_uf"], labels={"project_id": "basedosdados", "tema": "economia"}, pre_hook="DROP ALL ROW ACCESS POLICIES ON {{ this }}", ) }} + select safe_cast(ano as int64) ano, safe_cast(mes as int64) mes, @@ -50,3 +52,9 @@ from `basedosdados-staging.br_me_caged_staging.microdados_movimentacao` a left join `basedosdados.br_bd_diretorios_brasil.municipio` b on a.id_municipio = b.id_municipio_6 + +{% 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 %} diff --git a/models/br_me_caged/microdados_movimentacao_excluida.sql b/models/br_me_caged/br_me_caged__microdados_movimentacao_excluida.sql similarity index 91% rename from models/br_me_caged/microdados_movimentacao_excluida.sql rename to models/br_me_caged/br_me_caged__microdados_movimentacao_excluida.sql index 9a353e2d..a451ec87 100644 --- a/models/br_me_caged/microdados_movimentacao_excluida.sql +++ b/models/br_me_caged/br_me_caged__microdados_movimentacao_excluida.sql @@ -2,12 +2,7 @@ config( schema="br_me_caged", materialized="table", - partition_by={ - "field": "ano", - "data_type": "int64", - "range": {"start": 2020, "end": 2024, "interval": 1}, - }, - cluster_by=["mes", "sigla_uf"], + alias="microdados_movimentacao_excluida", labels={"project_id": "basedosdados", "tema": "economia"}, pre_hook="DROP ALL ROW ACCESS POLICIES ON {{ this }}", ) diff --git a/models/br_me_caged/microdados_movimentacao_fora_prazo.sql b/models/br_me_caged/br_me_caged__microdados_movimentacao_fora_prazo.sql similarity index 86% rename from models/br_me_caged/microdados_movimentacao_fora_prazo.sql rename to models/br_me_caged/br_me_caged__microdados_movimentacao_fora_prazo.sql index 552ab704..97d4fbcd 100644 --- a/models/br_me_caged/microdados_movimentacao_fora_prazo.sql +++ b/models/br_me_caged/br_me_caged__microdados_movimentacao_fora_prazo.sql @@ -1,13 +1,13 @@ {{ config( schema="br_me_caged", - materialized="table", + materialized="incremental", + alias="microdados_movimentacao_fora_prazo", partition_by={ "field": "ano", "data_type": "int64", - "range": {"start": 2020, "end": 2024, "interval": 1}, + "range": {"start": 2020, "end": 2025, "interval": 1}, }, - cluster_by=["mes", "sigla_uf"], labels={"project_id": "basedosdados", "tema": "economia"}, pre_hook="DROP ALL ROW ACCESS POLICIES ON {{ this }}", ) @@ -50,3 +50,8 @@ from `basedosdados-staging.br_me_caged_staging.microdados_movimentacao_fora_praz left join `basedosdados.br_bd_diretorios_brasil.municipio` b on a.id_municipio = b.id_municipio_6 +{% 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 %} diff --git a/models/br_me_caged/schema.yml b/models/br_me_caged/schema.yml index 8fbe286a..dc8500de 100644 --- a/models/br_me_caged/schema.yml +++ b/models/br_me_caged/schema.yml @@ -1,7 +1,7 @@ --- version: 2 models: - - name: microdados_movimentacao + - name: br_me_caged__microdados_movimentacao description: Contém dados de movimentações declaradas dentro do prazo com competência de declaração. tests: @@ -77,7 +77,7 @@ models: description: Origem da Informação - name: indicador_fora_prazo description: Indicador fora do prazo - - name: microdados_movimentacao_fora_prazo + - name: br_me_caged__microdados_movimentacao_fora_prazo description: Contém dados de movimentações declaradas fora do prazo com competência de declaração. tests: @@ -153,7 +153,7 @@ models: description: Origem da Informação - name: indicador_fora_prazo description: Indicador fora do prazo - - name: microdados_movimentacao_excluida + - name: br_me_caged__microdados_movimentacao_excluida description: Contém dados de movimentações excluídas com competência de declaração. tests: - not_null_proportion_multiple_columns: