Microsoft nombrado líder en The Forrester Wave™: Plataformas de infraestructura y desarrollo en la nube pública, 2022
Forrester ha publicado recientemente su informe The Forrester Wave™: Public Cloud Development [...]
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.
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:
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.
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.
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.
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!