Mejora del rendimiento de consultas en Power BI

Written by:

Cuando trabajamos con Power BI, optimizar el rendimiento de las consultas es un aspecto crucial para garantizar una experiencia fluida tanto para el usuario final como para los desarrolladores. Existen varias estrategias que podemos adoptar, cada una de ellas funcionando como una capa que contribuye al rendimiento global. Estas capas incluyen reducir el tamaño de los datos, optimizar DirectQuery y trabajar con modelos compuestos. Vamos a profundizar en cada una de estas estrategias.

Reducir el tamaño de los datos

Uno de los primeros pasos para mejorar el rendimiento de un informe es reducir el volumen de datos con el que Power BI necesita trabajar. Esto se traduce en limitar los datos al mínimo necesario para cumplir con los objetivos del informe. Por ejemplo, si una base de datos de ventas contiene datos de 70 países, pero sólo necesitamos reportar sobre 5 de esos países, tiene sentido usar solo la información correspondiente a esos 5 países. Esto se puede lograr al conectar a la base de datos y aplicar un filtro que limite los datos a las filas que realmente necesitamos.

Este principio no solo aplica a las filas, sino también a las columnas. Muchas bases de datos empresariales contienen tablas extensas con numerosas columnas, de las cuales solo una fracción es útil para el informe. Al dejar fuera las columnas innecesarias, podemos reducir significativamente el tamaño del modelo de datos de Power BI. En este caso, podemos hacer uso de consultas personalizadas para seleccionar únicamente las columnas necesarias al conectar la fuente de datos.

Dependiendo del caso de uso, también es posible realizar cálculos o resúmenes previos fuera de Power BI antes de cargar los datos. Por ejemplo, si nuestra base de datos de ventas tiene un nivel de detalle muy granular, podría ser beneficioso agregar los datos a un nivel más resumido, como ventas diarias en lugar de ventas transacción por transacción. Esto no solo reduce el volumen de los datos, sino que también facilita una experiencia más ágil al interactuar con los informes.

Optimización de DirectQuery

Cuando trabajamos con DirectQuery, debemos tener en cuenta que el rendimiento depende tanto de Power BI como de la fuente de datos subyacente. Por eso, la optimización debe abordarse en ambos frentes. Si estás trabajando con un almacén de datos como Azure Synapse Analytics, considera las siguientes técnicas para mejorar el rendimiento de DirectQuery:

  1. Índices: Crear índices en las tablas y vistas de la base de datos puede ayudar a acelerar la recuperación de datos, haciendo que las consultas sean mucho más eficientes.
  2. Integridad de claves entre tablas de hechos y dimensiones: Las tablas de dimensión deben tener una clave que asegure una buena cardinalidad, permitiendo un emparejamiento eficiente con las tablas de hechos y evitando combinaciones innecesarias que pueden afectar al rendimiento.
  3. Materialización de datos calculados: Cuando sea posible, realiza cálculos complejos o crea tablas de fechas directamente en la base de datos. Esto evita que Power BI tenga que realizar estos cálculos en tiempo real, mejorando así el rendimiento de los informes.
  4. Tablas distribuidas: En almacenes de datos de procesamiento masivo paralelo (MPP), revisar la distribución de las tablas puede ayudar a optimizar las consultas. Asegúrate de que las tablas estén bien distribuidas entre los nodos de computación para mejorar la eficiencia de las uniones y la consulta de datos.

Optimización de modelos compuestos

Los modelos compuestos permiten combinar datos de múltiples fuentes en un único modelo de datos, utilizando tanto Importación como DirectQuery. Aunque los modelos compuestos ofrecen mucha flexibilidad, también introducen una capa de complejidad adicional que debe ser gestionada cuidadosamente.

Si es posible, intenta evitar los modelos compuestos para reducir la complejidad y mantener un control más estricto sobre la seguridad de los datos. Los modelos compuestos permiten que los datos importados se crucen con los datos obtenidos mediante DirectQuery, lo cual puede llevar a que información sensible se incluya en los registros de consultas de bases de datos, aumentando los riesgos de seguridad.

En general, es mejor comenzar utilizando el modo Importación para los modelos de datos y considerar DirectQuery solo cuando los volúmenes de datos son muy grandes o se necesita información en tiempo real. Sin embargo, cuando sea necesario un modelo compuesto, considera lo siguiente para optimizar su rendimiento:

  • Modo de almacenamiento de tablas: Cada tabla en un modelo compuesto se puede configurar como DirectQuery, Importación o Dual. Es recomendable utilizar Importación para las tablas de dimensión, ya que mejora el rendimiento al almacenar los datos en la memoria de Power BI. Las tablas de hechos más grandes podrían quedarse en DirectQuery si es necesario.
  • Agregaciones: Los modelos compuestos permiten almacenar tablas DirectQuery como tablas de Importación, y también agregan la posibilidad de pre-agregar los datos antes de que sean utilizados. Esto puede mejorar significativamente el rendimiento de las consultas, especialmente cuando se trabaja con volúmenes de datos muy grandes.

Conclusión

La mejora del rendimiento de las consultas en Power BI implica trabajar en varias capas: reducir el tamaño de los datos, optimizar el uso de DirectQuery y gestionar los modelos compuestos de manera adecuada. Aplicando estas técnicas, conseguirás un modelo de datos más eficiente, que permita una mejor experiencia para el usuario final y que, además, cumpla con los requisitos de negocio de manera ágil y efectiva.

La clave está en conocer las herramientas y aplicarlas de manera consciente. Cada optimización suma al rendimiento general, y siempre hay espacio para aprender y mejorar. ¡Sigamos impulsando el rendimiento de nuestros informes y creciendo juntos en el mundo del análisis de datos!

One response to “Mejora del rendimiento de consultas en Power BI”

  1. Acumulados DAX: Totalytd y Datesytd explicadas – Formación BI

    […] quieres seguir aprendiendo sobre Power BI, no te pierdas este artículo sobre […]

Deja un comentario

Descubre más desde Blog de Alex Ayala

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo