Power Query y power Pivot muy lentos? escucha estos 6 consejos…
Gracias a Power Pivot y Power Query podemos crear modelos de datos complejos y con muchos datos en Excel. Sin embargo, cuanto más datos añadamos, y cuanto más complejo se haga el modelo (relaciones, campos y columnas calculadas etc.), tanto más se ralentiza la carga y la explotación de los datos en las tablas dinámicas. Aunque no sea posible hacer “milagros”, seguir los siguientes consejos te ayudará a mejorar visiblemente el rendimiento.
¡No te pierdas ningún nuevo vídeo!
Visita mi canal de Youtube
- Incluir sólo las columnas necesarias, en particular hay que prestar atención a las columnas con alta cardinalidad, es decir con muchas categorías, como por ejemplo los índices (una categoría por fila)[1].
- El uso de filtros en CALCULATE puede requerir un tiempo de cálculo importante, sobre todo si son muchos filtros, con evaluaciones de mayor/menor en millones de filas. Es importante no abusar de esta función.
- En las columnas calculadas, el cálculo se hace al momento de crear la columna. Esto quiere decir que ocupan memoria, pero cuando el usuario usa una tabla dinámica el cálculo no se tiene que ejecutar (solo se ejecutará la agregación que eligas), mientras que un campo calculado sí. Puedes tener en cuenta esto a la hora de elegir si crear una columna calculada o una métrica calculada, si ambas son posibles.
- Aunque en el proceso de crear una columna calculada compleja es sensato dividirla en pasos, para disminuir el uso de memoria sería mejor juntarlas en una columna compleja. Para hacer la fórmula más legible podemos usar:
- VAR (crea variables que después utilizamos en la fórmula)
- Comentarios
- Estructurar bien la fórmula (http://www.daxformatter.com/).
- En las consultas SQL con varios millones de filas, ordenar las variables con un número elevado de categorías (por ejemplo, el Origen-Destino que se multiplica para cada fecha, clase, tarifa etc.). Esto se debe a la manera de comprimir los datos de Power Pivot4.
- Si la actualización de datos tarda bastante, es aconsejable crear nuevas columnas y cruces en Power Pivot en lugar de Power Query
[1] https://powerpivotpro.com/2016/02/sort-data-load-improved-compression/