Volver a proyectos

Caso 02 · Databricks & Power BI

Financial Spend Analytics Transformation

Migración de la lógica que preparaba, agregaba y ordenaba jerarquías de gasto en Power Query hacia Databricks, entregando a Power BI una tabla consolidada y reutilizable.

Databricks SQL Power Query Power BI Window Functions Data Modeling

Spend Analytics

ANONYMIZED RECREATION · SYNTHETIC VALUES
FY26EstimateUSDSpend AreaAll Regions

Spend Breakdown

% of NS Breakdown · MOB Chart

Legend Chart

Trade Spend Selling Advertising Promotion Store Operations
ANONYMIZED REPORT RECREATION

Contexto del reporte

El reporte original contenía múltiples páginas. La vista recreada de “Spend Analytics” combina filtros, parámetros dinámicos, gráficos de gasto, análisis como porcentaje de Net Sales y una leyenda controlada por tablas de ordenamiento.

Las transformaciones que determinaban el monto, el orden de las categorías y sus atributos visuales estaban repartidas en Power Query. El objetivo fue llevar esa lógica a Databricks para que el reporte consumiera una salida ya preparada.

Múltiplespáginas integradas en el reporte original
Diversoselementos visuales y parámetros en la vista analítica
14jerarquías incluidas en la tabla final de ordenamiento

Qué hacía Power Query

Para cada jerarquía, el flujo repetía el mismo patrón: combinar la tabla de hechos con la dimensión correspondiente, agrupar el monto, ordenar de mayor a menor, agregar un índice y relacionar ese índice con una tabla de colores.

MERGE + GROUP BY

Combinación con la dimensión Spend Analytics y suma del monto convertido por categoría.

SORT + INDEX

Ranking descendente para mantener un orden consistente en los visuales.

COLOR MAPPING

Asignación de color y color de texto mediante el nivel del índice.

REPEATED QUERIES

La misma transformación se replicaba para múltiples dimensiones y jerarquías.

Diseño de la migración

La migración reconstruyó el flujo por capas en Databricks. Los nombres que se muestran a continuación están anonimizados, pero conservan la lógica implementada.

FACT TEMPHechos + escenarios + jerarquía Spend Analytics
SORT FACTReglas de negocio y periodo fiscal
RANKED VIEWSAgregación, índice y atributos visuales
FINAL SORT TABLESalida consolidada para Power BI
Databricks SQL · lógica anonimizada
CREATE OR REPLACE VIEW analytics.spend_sort_by_area AS
WITH ranked AS (
  SELECT
    hierarchy.spend_area,
    SUM(
      CASE WHEN hierarchy.spend_area = 'Trade Spend'
           THEN -fact.amount
           ELSE fact.amount
      END
    ) AS amount,
    ROW_NUMBER() OVER (
      ORDER BY SUM(converted_amount) DESC
    ) AS sort_index
  FROM analytics.sort_fact fact
  JOIN finance.spend_hierarchy hierarchy
    ON fact.hierarchy_key = hierarchy.hierarchy_key
  GROUP BY hierarchy.spend_area
)
SELECT ranked.*, colors.hex_color, colors.text_color
FROM ranked
LEFT JOIN analytics.color_mapping colors
  ON ranked.sort_index = colors.level;
CONVERTED AMOUNT

El signo se invierte cuando Spend Area es Trade Spend para mantener la convención financiera del reporte.

SCENARIO FILTER

La vista base conserva los escenarios de comparación requeridos y excluye una combinación histórica obsoleta.

FISCAL FILTER

Una vista intermedia aplica el periodo fiscal utilizado para generar los rankings.

UNION ALL

Las vistas de cada jerarquía se consolidan en una tabla final con estructura común.

Jerarquías consolidadas

El patrón de agregación y ranking se reutilizó para 14 jerarquías financieras y organizacionales.

Spend AreaSpend CategoryTactic Super RegionRegionAffiliate Affiliate GroupBrandCluster DivisionBusiness HierarchyBusiness Level 3 Business Level 4Segment

Durante la validación también se corrigió el mapeo organizacional para que cada nivel —división, afiliada, grupo, región y superregión— utilizara el atributo maestro correspondiente.

Cómo lo consume Power BI

La solución de Power BI utiliza tablas de ordenamiento directamente en los visuales y parámetros dinámicos. En “Spend Analytics”, la tabla de Spend Area controla categorías utilizadas por Spend Breakdown, % of NS Breakdown, MOB Chart y Legend Chart.

  • Medidas verificadas en la página: Amount, Amount ($) (Scaled) y Amount as % of NS (%).
  • Parámetros dinámicos para ejes, leyendas y desgloses analíticos.
  • Las categorías mantienen un orden consistente sin depender de transformaciones repetidas dentro del PBIX.
  • La leyenda puede recuperar atributos visuales asociados al índice de cada jerarquía.

La lógica de ordenamiento, los parámetros y el comportamiento visual fueron validados durante la implementación. La imagen superior es una recreación anonimizada con cifras sintéticas.

Resultado

Centralizadoreglas de monto, ranking y color administradas en Databricks
Reutilizableuna estructura común para múltiples jerarquías del reporte
Consistenteorden estable entre gráficos, leyendas y parámetros dinámicos

El caso evita rutas, catálogos, nombres de empresa y cifras internas. El código y la visualización fueron anonimizados sin cambiar la lógica técnica del proyecto.

Siguiente caso Caregiver Operations Management System