
Hoy en BertIA te traemos un consejo sobre un aspecto clave del uso de Power BI: optimizar modelo de Power BI. Este es un aspecto fundamental para conseguir sacar el máximo provecho a nuestro BI pues de ello van a depender aspectos tan importantes como la velocidad de consulta, de ejecución, la usabilidad de los modelos de datos e incluso puede repercutir en el coste de licencia o de capacidad que tengamos contratado.
¿Por qué optimizar?
Sin duda hay que ser muy cuidadoso cuando se construyen modelos de datos, sobretodo si estos son complejos o las tablas que incluyen son muy grandes. Esto puede ser determinante en muchos aspectos, por ejemplo:
- Experiencia de usuario: fundamental para satisfacer las demandas de negocio. La carga de visuales y la experiencia de navegación debe ser ágil y no admitir tiempos de espera. Optimizar el modelo es crucial para conseguir la mejor experiencia y fluidez.
- Tiempos de carga y actualización: el tiempo que Power BI dedica a actualizar los datos puede dilatarse en exceso si el modelo no está optimizado. Podemos reducir el tiempo que se dedica con una buena gestión de la cantidad de datos, las relaciones y otras opciones que nos permite la herramienta como veremos más adelante
- Coste de licencia: si se trabaja con orígenes de datos muy grandes y no optimizados puede que excedamos el límite permitido de carga para capacidades compartidas, por ejemplo, y esto es absolutamente determinante pues encarece ostensiblemente el sistema. Una buena gestión puede hacer que ahorremos mucha inversión.
¿Cómo optimizar?
Entre muchas otras formas, en BertIA os vamos a destacar dos: desactivar auto date/time y la reducción de identificadores en tablas de hechos.
Auto date/time
Como bien sabemos, Power BI dispone de funciones DAX para la inteligencia de tiempo. Estas llevan consigo un trabajo oculto que consiste en crear tablas con datos adicionales de cada fecha. Concretamente, para cada uno de los registros fecha debe completar la jerarquía correspondiente y saber año, trimestre, mes y día. Si tenemos una tabla de hechos muy grande y, por ejemplo, con más de una fecha por registro, la cantidad de datos “ocultos” que esto genera puede ser muy grande. Por ejemplo, en una tabla de 20 millones de registros si tuviéramos fechas cómo: fecha de pedido, de expedición y de facturación esto generará, para cada una de ellas 4 datos adicionales. Pasaremos de tener 3 fechas x 20 millones (60 millones de fechas) a tener 300 millones de campos entre la fecha completa y toda su jerarquía.
Si no va a ser algo estrictamente necesario, podemos desactivarlo en Power BI Desktop y ahorrar este trabajo y datos adicionales.
Reducción de columnas en tablas de hechos
También es muy habitual encontrar tablas de hechos “sobredimensionadas” a nivel de columnas. Puede ser que, debido a procesos de ETL previos, en esas tablas tengamos múltiples ID’s, fechas de creación o modificación del registro, SK’s u otros campos necesarios para procesos de carga y otras labores pero sobre los que nunca se reportará.
Parece una trivialidad pero tendemos siempre a no prestar atención a este aspecto y a dejarlos en el modelo alegando el típico “por si acaso”. ¡No tengas miedo y elimínalo! Power BI comprime datos de forma columnar, con lo cual tiene en cuenta la variabilidad de los registros para comprimir. Si mantenemos estos campos tipo que comentamos, los registros se vuelven todos únicos y el motor no será capaz de comprimir. Eliminando estos campos, que además no usaremos para reportar, puede hacer que ganemos muchísimo en la compresión de datos.
¿Quieres saber más?
Optimizar el modelo de Power BI es fundamental para conseguir un excelente rendimiento de la herramienta y una fantástica experiencia de usuario. Nuestro equipo es experto en optimizar datos, procesos de carga y maximización de rendimiento de Power BI. No dudes en contactar con nosotros!