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.
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.
Combinación con la dimensión Spend Analytics y suma del monto convertido por categoría.
Ranking descendente para mantener un orden consistente en los visuales.
Asignación de color y color de texto mediante el nivel del índice.
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.
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;
El signo se invierte cuando Spend Area es Trade Spend para mantener la convención financiera del reporte.
La vista base conserva los escenarios de comparación requeridos y excluye una combinación histórica obsoleta.
Una vista intermedia aplica el periodo fiscal utilizado para generar los rankings.
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.
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
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.