Introducción
Uno de nuestros clientes solicitó asistencia para su solución de BI, específicamente la implementación de dashboards de Power BI en los cubos principales de la compañía. El cliente ya poseía licencias de Power BI Pro, las cuales utilizaban para publicar información satelital de menor relevancia. Si bien Power BI Pro permite cargar hasta 1 GB de información por día y refrescar los datos hasta 8 veces al día, el modelo de stock del cliente superaba los 2 GB, lo que presentaba un inconveniente. El cliente nos planteó que en caso de ser necesario podría purgar datos del año 2023. Este artículo documenta los pasos que seguimos para optimizar el modelo, desde la base de datos SQL Server hasta la carga final en Power BI.
1. Revisión Inicial en SQL Server
- El primer paso consistió en un análisis de los datos y la estructura en SQL Server, utilizando Management Studio. Durante este proceso:
- Se eliminaron duplicados, lo cual es fundamental para cumplir con el modelo estrella en Power BI.
- Se crearon índices clúster en la tabla de hechos.
- Se ajustaron los tipos de datos:
- float se cambió a decimal para mayor precisión y menor consumo.
- char se modificó a varchar para evitar el almacenamiento fijo innecesario.
2. Modelo Tabular en Analysis Services
Con los datos limpios, creamos un modelo tabular:
- Copiamos la información del cubo.
- Definimos las relaciones entre tablas.
- Usamos Visual Studio para desplegar el modelo en Analysis Services.
3. Optimización avanzada
Aquí entraron en juego dos herramientas clave:
Tabular Editor
Deshabilitamos la propiedad MDX en todas las columnas, ya que el cliente no usaba Excel. Esto liberó una cantidad significativa de espacio, evitando reservar memoria para conexiones que nunca se iban a utilizar.
DAX Studio
Con DAX Studio evaluamos
- Consumo de memoria.
- Relaciones y medidas.
- Efecto de cada cambio en la compresión.
4. Migración y validación en Power BI
- Una vez optimizado el tabular migramos el modelo a Power BI.
- Validamos que Power BI alcanzaba un 1.5% más de compresión que el modelo tabular.
- Construimos el dashboard final e hicimos la prueba.
Resultados obtenidos
- Reducción del modelo: 997 MB.
- Inclusión de 2 años y medio de datos históricos.
Conclusión
Este caso demuestra que la optimización de modelos en Power BI no depende solo de la herramienta final, sino de una combinación de:
- Buenas prácticas en SQL Server.
- Diseño eficiente en Analysis Services Tabular.
- Ajustes finos con Tabular Editor y DAX Studio.
Pequeñas decisiones técnicas, como cambiar tipos de datos o desactivar propiedades innecesarias, pueden marcar la diferencia entre un modelo que no escala y uno que ofrece rendimiento, estabilidad y escalabilidad.