Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
QQCFA
Frequent Visitor

Modelo de power bi complejo con múltiples tablas de hechos, más de 200 medidas.

Hola comunidad de Power BI,
Estoy buscando ayuda con respecto a mi modelo PBI. Para el contexto, actualmente manejo un PC de escritorio con CPU Intel Core i7 y 64GBs de RAM. Mi modelo PBI es un modelo de P&L y balance relativamente complejo que realiza proyecciones de 60 meses con más de 200 medidas (todos los tipos de DAX utilizados aquí), varias tablas de hechos, 10 tablas calculadas (principalmente desglosa las medidas clave más lentas mediante Columnas de resumen para todas las dimensiones disponibles que se utilizarán en objetos visuales) y 6 tablas de dimensiones. Realizo una actualización completa del modelo cada mes y me he dado cuenta de que cuando realizo mi actualización, la memoria RAM de mi PC se ejerce en gran medida y siempre alcanza aproximadamente 45-48 MB de uso.
Utilizo consultas SQL para agregar datos en el modo de importación, por lo tanto, mis tablas de hechos son relativamente pequeñas en tamaño, máximo de 20k filas y mi tamaño de archivo para el contexto es de solo 4,5 MB.

Mi preocupación es que, a medida que cambien los requisitos empresariales, tendré que agregar más dimensiones/medidas haciendo que el modelo supere los 64 GB de memoria disponible al actualizarse.
Mis preguntas son:
1) ¿Es normal que modelos tan complejos (especialmente aquellos en los que una medida se utiliza en otra y luego en otra y así sucesivamente (medidas derivadas) utilizar esa cantidad de memoria en el momento de la actualización?
2) Si eso no es normal qué área del modelo debo centrarme en la optimización. (Tengo código DAX wrriten que son tan eficientes como sé actualmente)
3) Se actualizar a 128 GB de memoria resolver cualquier problema futuro asociado con el aumento de tamaño / complejidad de mi modelo o tengo un problema de diseño / dax / modelo más fundamental que necesito abordar.
FYI he utilizado uno a - muchas relaciones sólo entre todas las tablas y tengo algunas relaciones inactivas, así que uso cuando es necesario usando DAX.
Estoy familiarizado con el estudio DAX y lo he utilizado mucho para aumentar la velocidad de mis medidas más lentas.
Cualquier ayuda en esto es muy apreciado!
2 REPLIES 2
colivier
Advocate I
Advocate I

Hola @QQCFA

Es posible que desee comprobar que el informe está utilizando realmente todas las columnas que está importando desde los orígenes de datos. Deshacerse de las columnas no utilizadas puede reducir drásticamente el tamaño del conjunto de datos, así como el tiempo que se tarda en actualizar los datos.

He creado una herramienta, PBI Spy, que, entre otras cosas, le mostrará qué columnas de su conjunto de datos no son utilizadas por visualizaciones, filtros, relaciones, medidas, etc.

Puede descargarlo desde: www.pbispy.com

Avísame si necesitas ayuda con él.

Anonymous
Not applicable

Todo lo que puedo decirle es que si las tablas se procesan en paralelo, y esto es lo que realmente sucede, la cantidad de memoria requerida puede ser realmente enorme. Sin embargo, Microsoft dice en su documentación (pero no quiero buscarlo en este momento) que el procesamiento puede en SSAS puede tomar 2-3 veces más memoria que el modelo cargado. Pero esto es sólo una aproximación y todo depende de la cantidad de datos que tiene y lo que realmente son los datos. Algunas columnas requieren más memoria para comprimir, algunas menos, lo que también depende de la sparsidad de los datos (o su unicidad). Y también, si se necesita volver a codificar durante la fase de compresión, esto también puede afectar el tiempo y la memoria necesarios. Básicamente, todo lo que se puede decir es que no se sabe. Pero usted dice que utiliza consultas SQL para agregar datos... ¿El origen, la base de datos SQL, se encuentra en el mismo equipo? Si este es el caso, atribuiría el consumo de memoria al motor relacional. Si no tiene las estructuras adecuadas en la base de datos, una consulta analítica puede consumir una gran cantidad de recursos. Si lo anterior es true, debe centrarse en la optimización de SQL. En SQL ServerSQL Server una tabla en la que se emiten consultas analíticas debe ser un índice clúster de almacén de columnas.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors