View on GitHub

dataops

Repositório de Casos de Uso ( World Data Bank\Gapminder)

Download this project as a .zip file Download this project as a tar.gz file

Gapminder — Camada Gold

Notebook: gapminder_GOLD

Padrão genérico: Metodologia — Camada Gold


Responsabilidade

Consolida as tabelas silver, enriquece a dimensão geográfica com hierarquias de região, cria a dimensão de datas (1800–2100), calcula o year_rank_index para ranking temporal, e actualiza o modelo semântico Power BI no final.


Fluxo de Execução

1. Ler todas as tabelas silver via ABFSS
        ↓
2. Consolidar dimensão geográfica
   → Left join: dim_geo + world_4region + un_sdg_region
   → gapminder_gold_dim_geo
        ↓
3. Migrar dimensões de metadata (passthrough)
   → gapminder_gold_dim_indicators
   → gapminder_gold_rel_indicator_tags
        ↓
4. Processar factos
   → Deduplicar: dropDuplicates(["geo_id", "year", "indicator_id"])
   → Inner join com gold_dim_geo (garante integridade referencial)
   → Calcular year_rank_index (ver secção abaixo)
   → Escrever particionado por continent e year, com V-Order
   → gapminder_gold_analytics_fact
        ↓
5. Criar dimensão de datas
   → 301 linhas (1800 a 2100 inclusive)
   → Colunas: date_id (int), year (int), period (string: "Past", "Present", "Future")
   → gapminder_gold_dim_date
        ↓
6. Trigger Semantic Model refresh (Power BI)
   → Aguarda conclusão do refresh antes de terminar

year_rank_index — Ranking Temporal

Window function que calcula, para cada (indicator_id, geo_id), a posição relativa de cada registo ano a ano:

Permite que relatórios Power BI mostrem facilmente “o valor mais recente” (rank = 1) sem filtros complexos.


Dimensão de Datas (gapminder_gold_dim_date)

Coluna Tipo Descrição
date_id int Identificador numérico (igual ao ano)
year int Ano (1800–2100)
period string "Past" (< ano_actual), "Present" (== ano_actual), "Future" (> ano_actual)

Tabelas Escritas no Gold

Tabela Conteúdo
gapminder_gold_analytics_fact Factos analíticos com year_rank_index, particionado por continent e year
gapminder_gold_dim_geo Países com hierarquias de região consolidadas
gapminder_gold_dim_indicators Indicadores
gapminder_gold_rel_indicator_tags Relação indicador → tag
gapminder_gold_dim_date 301 anos (1800–2100) com período

Todas as tabelas são escritas com V-Order activado.


Semantic Model Refresh

No final da execução Gold, é feito trigger do refresh do modelo semântico Power BI (via semantic_model_refresh_wait da biblioteca dap_fabric_semantic_tools.py). O notebook aguarda a conclusão do refresh antes de devolver o resultado ao runner.


Resultado Devolvido ao Runner

{ "new_data": 1 }

← Silver · Overview · Home