Icon

DW version 2 comentado

Projeto G1 — Grupo 07 / ONG de Monitoramento Ambiental. Workflow documentado para E5: extração e tratamento das quatro fontes, construção das dimensões e fato, validações intermediárias e carga no Supabase/PostgreSQL.

Projeto G1 — Grupo 07 / ONG de Monitoramento Ambiental. Workflow documentado para E5: extração e tratamento das quatro fontes, construção das dimensões e fato, validações intermediárias e carga no Supabase/PostgreSQL.

1 — ETL PRODES / Desmatamento
Leitura do PRODES, filtro 2020–2024, padronização do código IBGE e município, deduplicação, tratamento de nulos e validação estatística.

2 — ETL IBGE / PPM — Efetivo bovino
Leitura da PPM, filtro de municípios válidos, unpivot dos anos, conversão de tipos, tratamento de ausências e criação da lookup municipal.

3 — ETL BDQueimadas / Focos de fogo
Concatenação dos arquivos 2020–2024, recorte territorial, padronização de datas e municípios, conformidade com a lookup e agregação por município/ano.

4 — ETL DATASUS / Internações respiratórias
Concatenação dos 9 estados, limpeza do cabeçalho, unpivot, conversão de tipos, tratamento de “-” como zero quando validado pela fonte e conformidade municipal.

5 — DIM_MUNICIPIO + base auxiliar anual
DIM_MUNICIPIO contém 772 municípios e chave substituta. AUX_ANO contém apenas 2020–2024 e serve para gerar a malha município × ano; não é a DIM_TEMPO final.

6 — DIM_TEMPO final
Dimensão diária gerada pelo grupo (01/01/2020–31/12/2024), com 1.827 linhas, atributos de calendário, feriado/fim de semana, trimestre, semestre e SK id_tempo.

7 — Integração e construção da FATO_INDICADORES
Malha completa de 3.860 município/ano, joins com os quatro indicadores, preservação de combinações sem focos (0), validações e remapeamento para a nova DIM_TEMPO.

8 — Carga do Data Warehouse — PostgreSQL/Supabase
Ordem lógica obrigatória: 1º DIM_TEMPO → 2º DIM_MUNICIPIO → 3º FATO_INDICADORES. DB Writers realizam a carga no banco; validação pós-carga por contagens/SQL.

CHECKLIST E5 antes do screenshot final
• Executar os nodes necessários até ficarem verdes.
• Capturar o workflow completo.
• Registrar configurações dos nodes de transformação e Table View de ≥ 3 nodes críticos.
• Registrar primeiras linhas das 3 tabelas finais e Statistics.
• Relatório pós-ETL: extraídos, rejeitados, deduplicados, nulos e carregados.

Column Filter
separar o código DATASUS do nome do município
String Manipulation
DATASUS — UnpivotTransforma 2020–2024 em linhas município/ano.
Unpivot
Column Renamer
separar o código DATASUS do nome do município
String Manipulation
Column Renamer
DATASUS — Tratamento de nulosSubstitui por 0 apenas os “-” validados como ausência de internações.
Missing Value
Statistics
String to Number
Column Auto Type Cast
String Manipulation
Column Filter
DATASUS — DeduplicaçãoGarante uma linha por codigo_ibge + ano.
Duplicate Row Filter
DATASUS — Validação finalConfere a base tratada no mesmo universo municipal do DW.
Statistics
DATASUS — Conformidade municipalJoin com a lookup IBGE para restringir ao universo de 772 municípios.
Joiner
Column Filter
GroupBy
Column Resorter
Joiner
Prodes - Incrementos do Desmatamento - Amazônia Legal - TerraBrasilis
CSV Reader
PRODES — Filtro temporalMantém somente os anos de 2020 a 2024.
Row Filter
O motivo é simples: geocode_ibge é um código identificador, não um valor para cálculo. Então é melhor tratá-lo como texto para os joins depois.
Number to String
Column Renamer
PRODES — DeduplicaçãoGarante unicidade por codigo_ibge + ano.
Duplicate Row Filter
PRODES — NulosVerificação/tratamento de valores ausentes antes da integração.
Missing Value
Column Filter
BDQueimadas — Conformidade municipalJoin com a lookup de 772 municípios da Amazônia Legal.
Joiner
Rule Engine
String Manipulation
BDQueimadas — Agregação principalConta os registros por codigo_ibge + ano, gerando quantidade_focos.
GroupBy
Validação de unicidade da fatoUma linha por id_municipio + período anual.
Duplicate Row Filter
Column Renamer
BDQueimadas — Correções de nomesTrata exceções de nomenclatura municipal antes do Joiner.
Rule Engine
Validação estatística da base integradaConfere nulos, somas e faixas antes da geração da fato final.
Statistics
Conexão PostgreSQL / SupabaseSession Pooler com reconexão automática. Credenciais não devem ser expostas na documentação.
PostgreSQL Connector
BDQueimadas — Validação finalConfere 3.809 combinações e soma de 722.989 focos.
Statistics
Estrutura — DIM_MUNICIPIOCria/valida public.dim_municipio e sua chave primária.
DB Table Structure Creator
DATASUS/SIH — ACInternações por doenças respiratórias, município e ano (2020–2024).
CSV Reader
Estrutura — DIM_TEMPOCria/valida public.dim_tempo com os 11 atributos obrigatórios e PK.
DB Table Structure Creator
DIM_MUNICIPIO2ª etapa da carga do DW. Insere 772 municípios no PostgreSQL/Supabase.
DB Writer
DIM_TEMPO1ª etapa da carga do DW. Insere 1.827 datas no PostgreSQL/Supabase.
DB Writer
DATASUS/SIH — AMInternações por doenças respiratórias, município e ano (2020–2024).
CSV Reader
DATASUS/SIH — MTInternações por doenças respiratórias, município e ano (2020–2024).
CSV Reader
DATASUS/SIH — PAInternações por doenças respiratórias, município e ano (2020–2024).
CSV Reader
DATASUS/SIH — APInternações por doenças respiratórias, município e ano (2020–2024).
CSV Reader
DATASUS/SIH — MAInternações por doenças respiratórias, município e ano (2020–2024).
CSV Reader
PRODES — Padronização textualNormaliza o nome do município para os joins.
String Manipulation
DATASUS/SIH — TOInternações por doenças respiratórias, município e ano (2020–2024).
CSV Reader
Validação pós-cargaConsulta SQL de contagem das tabelas finais do DW no Supabase.
DB SQL Executor
PRODES — Validação intermediáriaStatistics usado para conferir período, área e valores ausentes.
Statistics
DATASUS — ConcatenaçãoUne os arquivos dos 9 estados da Amazônia Legal.
Concatenate
Estrutura — FATO_INDICADORESCria/valida public.fato_indicadores com PK composta e tipos das métricas.
DB Table Structure Creator
DATASUS/SIH — ROInternações por doenças respiratórias, município e ano (2020–2024).
CSV Reader
DATASUS/SIH — RRInternações por doenças respiratórias, município e ano (2020–2024).
CSV Reader
FATO_INDICADORES3ª etapa da carga do DW. Insere 3.860 fatos após as dimensões, preservando as FKs.
DB Writer
Column Renamer
DIM_TEMPO — geração do calendárioCria uma linha por dia de 01/01/2020 a 31/12/2024 (1.827 datas).
Date&Time Range Creator
DATASUS — Filtro de municípiosMantém apenas linhas com código DATASUS municipal válido.
Row Filter
Column Renamer
DIM_TEMPO — atributos de dataExtrai ano, mês, dia e nome do dia da semana.
Date&Time Part Extractor
DIM_TEMPO — fim de semanaDeriva fl_fim_semana: sábado/domingo = 1; demais = 0.
Rule Engine
DIM_TEMPO — nome do mêsDeriva nm_mes em português.
Date&Time Part Extractor
IBGE/PPM — DeduplicaçãoGarante uma linha por codigo_ibge + ano.
Duplicate Row Filter
IBGE/PPM — NulosPreserva como NULL os 2 valores de efetivo_bovinos ausentes na fonte.
Missing Value
IBGE/PPM — Validação intermediáriaStatistics da fonte tratada.
Statistics
DIM_TEMPO — trimestreDeriva nm_trimestre a partir de nu_mes.
Rule Engine
Column Resorter
DIM_TEMPO — semestreDeriva nm_semestre a partir de nu_mes.
Rule Engine
BDQueimadas - Registros de focos de queimadas - 2020
CSV Reader
DIM_TEMPO — feriadosDeriva fl_feriado para feriados nacionais definidos no projeto.
Rule Engine
GroupBy
DIM_TEMPO — chave substitutaGera id_tempo sequencial após ordenação por dt_data.
Math Formula
String Manipulation
Sorter
BDQueimadas - Registros de focos de queimadas - 2023
CSV Reader
Lookup anual da DIM_TEMPOSeleciona 01/01 de cada ano para mapear a fato anual à dimensão diária.
Row Filter
BDQueimadas - Registros de focos de queimadas - 2024
CSV Reader
DIM_TEMPO FINAL1.827 linhas; converte id_tempo para Integer antes da carga.
Double to Integer
BDQueimadas - Registros de focos de queimadas - 2021
CSV Reader
Lookup tempo anualRenomeia nu_ano→ano e id_tempo→id_tempo_novo para o remapeamento.
Column Renamer
BDQueimadas - Registros de focos de queimadas - 2022
CSV Reader
Column Filter
Remapeamento temporal da fatoSubstitui a chave antiga 1–5 pelos ids 1, 367, 732, 1097 e 1462 da DIM_TEMPO diária.
Joiner
BDQueimadas — Recorte territorialMantém os estados da Amazônia Legal; base reduzida de 1.075.841 para 744.333 focos antes da conformidade municipal.
Row Filter
String to Date&Time
FATO_INDICADORES FINAL3.860 linhas; chaves id_municipio + id_tempo e quatro métricas do projeto.
Column Renamer
BDQueimadas — ConcatenaçãoUne os arquivos anuais de 2020 a 2024.
Concatenate
Column Filter
Column Filter
Column Renamer
Date&Time Part Extractor
BDQueimadas — DeduplicaçãoRemove duplicatas exatas antes da agregação.
Duplicate Row Filter
String Manipulation
BDQueimadas — UF derivadaPadroniza o estado em sigla para integração com a lookup municipal.
Rule Engine
GroupBy
DIM_MUNICIPIO — seleção de atributosMantém codigo_ibge, municipio e uf para formar a dimensão.
Column Filter
Sorter
String Manipulation
Column Filter
DIM_MUNICIPIO FINAL772 municípios; id_municipio é a chave substituta da dimensão.
Column Resorter
AUX_ANO — Base auxiliar anualContém somente 2020–2024 para gerar a malha município × ano. NÃO é a DIM_TEMPO final.
Table Creator
Math Formula
tirando dados duplicados caso existam
Duplicate Row Filter
Malha completa município × anoCross Join: 772 municípios × 5 anos = 3.860 combinações.
Cross Joiner
Double to Integer
Integração 1/4 — PRODESAdiciona area_desmatada_km2 à malha completa.
Joiner
Column Filter
Integração 3/4 — DATASUSAdiciona internacoes_respiratorias.
Joiner
Column Filter
Integração 2/4 — IBGE/PPMAdiciona efetivo_bovinos.
Joiner
Column Filter
GroupBy
Queimadas sem registro = 0Substitui missing somente em quantidade_focos após preservar as 51 combinações.
Missing Value
Column Filter
Integração 4/4 — BDQueimadasAdiciona quantidade_focos; combinações sem ocorrência são preservadas.
Joiner
IBGE/PPM — Filtro de registros válidosMantém somente linhas cujo código municipal possui 7 dígitos.
Row Filter
Column Renamer
Organizando as colunas
Column Resorter
Preservação das 3.860 combinaçõesConcatena 3.809 matches com 51 combinações sem focos.
Concatenate
IBGE - SIDRA - Bovinos 2020 2024
CSV Reader
String to Number
Column Filter
IBGE/PPM — UnpivotTransforma as colunas 2020–2024 em linhas município/ano.
Unpivot
Column Renamer

Nodes

Extensions

Links