Mariela Estefany Ramos Loza

Este proyecto permite comparar las ventas de distintas regiones y categorías sin descargar los pedidos individuales. DuckDB transforma 120 000 pedidos sintéticos de 2025 en 144 celdas que se pueden consultar desde un explorador web.

Diseñar el cubo

La unidad de análisis es un pedido de una sola categoría. Las dimensiones son mes, región y categoría. Cada celda guarda tres medidas aditivas: cantidad de pedidos, unidades vendidas e ingresos en centavos de dólar. Con 12 meses, 4 regiones y 3 categorías, se generan 144 combinaciones.

select month, region, category, count(*) as orders, sum(revenue_cents) as revenue_cents, sum(units) as units from sales group by month, region, category; 

El script valida que los totales del cubo coincidan con los pedidos originales, tanto para el total general como para cada grupo de mes, región y categoría. Guardar ingresos en centavos permite sumar números enteros y aplicar el formato monetario al mostrar el resultado.

Consultar el cubo en el navegador

El HTML recibe solo las celdas agregadas. Al seleccionar enero se hace un slice. Al combinar enero con la región Norte se hace un dice. Al agrupar esa selección por categoría, el explorador muestra su desglose. Quitar los filtros y agrupar por región suma varios meses y categorías para obtener un total regional, una operación de roll-up. El gráfico puede mostrar pedidos, ingresos o unidades.

Automatizar la publicación

GitHub Actions instala DuckDB, ejecuta python build.py y prepara el HTML para GitHub Pages. El trabajo de despliegue depende del de compilación, de modo que una comprobación fallida detiene la publicación. El workflow se puede ejecutar manualmente y también se activa al actualizar la rama principal.

Para reproducirlo con Python 3.12, instala las dependencias con python -m pip install -r requirements.txt, ejecuta python build.py y abre site/index.html.

Repositorio público · Explorador OLAP

Este artículo fue redactado con IA.