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.
Top comments (0)