Hablemos un poco de como se puede hacer una mejora al rendimiento de un reporte en Power BI.
Cuando tenemos un reporte de Power BI que tiene una fila de tarjetas visuales tenemos algo que se ve así:
Es algo normal, pero si nuestro reporte es muy lento al renderizar entonces nos encontramos con un problema relacionado al diseño. Ahora miremos el siguiente reporte que contiene una sola matriz que ha sido configurada para no parecerlo y mostrar los mismos datos:
Esto seguro correrá más rápido, ¿pero por qué?
Revisando el rendimiento.
Para revisar lo dicho, agregue a mi reporte un filtro de información, que servirá para medir el rendimiento.
Por medio del Analizador de rendimiento vamos a determinar cuáles son los visuales en nuestro reporte que causan desempeño bajo, así determinaremos cuáles son los visuales que no vale la pena tocar pues no harán una diferencia notable.
Una vez que hayamos activado Performance, necesitamos ver si podemos reducir el número de visuales necesarios para mostrar la misma cantidad de información. En el ejemplo de arriba, las cuatro tarjetas separadas muestran los mismo datos que la matriz sola y tienen más carga. En parte esto se debe a que las tarjetas generan cuatro queries DAX separados contra el conjunto de datos para obtener los datos que necesitan, mientras que la matriz solo genera un query DAX.
Consideraciones de los visuales en Power BI
Las siguientes declaraciones pueden servir como guía:
- Como regla general, entre más visuales pongamos en una página de reporte, más lento será este. Es lógico, ya que más visuales representan más queries que deben correrse y más trabajo que Power BI tiene que hacer para renderizar el reporte.
- Aun cuando existe la tendencia de empacar tanta información en una página como sea posible, es mejor evitar este escenario. Esto pasa cuando alguien más ha diseñado el reporte que intentamos crear.
- Dividir una sola página en varias más pequeñas por medio de separadores o filtros para reducir la cantidad de datos mostrada a la vez.
- Evadir tablas tipo Excel enormes es una buena idea.
Hay un cierto gasto general al correr un query DAX, por lo que reducir el número de queries DAX necesarias para obtener la misma cantidad de datos es bueno. Y más importante, en este ejemplo Power BI puede obtener cuatro valores requeridos para el query DAX generado por la matriz y crear una mejora al rendimiento, que si fueran cuatro queries DAX por separado para cada tarjeta. Esto se debe a algo llamado «DAX Fusion» y que puede marcar una gran diferencia en desempeño.
Cualquier duda, nos leemos abajo.