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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Promedio de inventario y saldos de costos para la tabla de transacciones grandes

Hola

Tengo una tabla de transacciones bastante grande (más de 27 millones de líneas y creciendo) con inventario y sus transacciones de costos relacionadas. Para obtener un inventario (o costo) en el saldo de la mano hago la fórmula estándar

Balance Qty = CALCULATE(SUM('Item Value New'[Item Ledger Entry Quantity]),FILTER(ALL(Dates),Dates[Date]<=MAX(Dates[Date])))

Lo cual funciona muy bien. Sin embargo, ahora lo que quiero hacer es obtener un promedio de los saldos de inventario a mano sobre un intervalo de fechas. De esa manera para los artículos que se producen con menos frecuencia, todavía tenemos una buena idea de la cantidad de transporte y el valor del inventario.

Para ello, primero intenté crear una nueva tabla con columnas de resumen que tendrían el saldo a mano para cada fecha, y luego tomar un promedio de ese saldo

Inv Summary Col = SUMMARIZECOLUMNS('Item Value New'[Item Ledger Entry Quantity], 'Item Value New'[Posting Date],


"Bal Qty", CALCULATE(SUM('Item Value New'[Item Ledger Entry Quantity]), FILTER(ALL('Item Value New'[Posting Date]), 'Item Value New'[Posting Date]<=MAX('Item Value New'[Posting Date] ) ) ),


"Bal Cost", CALCULATE(SUM('Item Value New'[Cost Amount (Actual)]) , FILTER(ALL('Item Value New'[Posting Date]) , 'Item Value New'[Posting Date] <= MAX('Item Value New'[Posting Date] ) ) )


)

Entonces hago un promedio con algo como
Promedio (Pary de Bal)

Sin embargo, aunque eso funcionaba bien en el escritorio de Power BI, cada vez que intentaba actualizar desde el servicio Power BI recibí un error de asignación de memoria después de que la actualización agotaba el tiempo de espera en unas dos horas.

Así que ahora probé un método alternativo. Básicamente sólo dos medidas

Balance Qty = CALCULATE(SUM('Item Value New'[Item Ledger Entry Quantity]),FILTER(ALL(Dates),Dates[Date]<=MAX(Dates[Date])))

seguido por

Avg Bal Qty = AVERAGEX(VALUES(Dates[Date]),[Balance Qty])

Lo que parece que está haciendo el trabajo, pero cuando actualizo la matriz (por ejemplo, expandir la jerarquía de productos, o cambiar a una categoría de producto diferente), las cosas van REALMENTE lentas.

Entonces, ¿hay una mejor manera de abordar esto?

Gracias

5 REPLIES 5
Anonymous
Not applicable

¿puede insertarlo en un procedimiento almacenado SQL y rellenar algunas tablas planas con datos de resumen? ¿O construir cubos en otro lugar?

Anonymous
Not applicable

Ni idea. Nunca había hecho eso antes.

Anonymous
Not applicable

De acuerdo. Bueno, supongo que estás sobrepasando los límites de lo que es posible con un espacio de trabajo no premium. Dicho esto, el uso de "AverageX" será mucho más costoso que "Average" porque tiene que calcularlo para cada fila del conjunto de datos.

El desafío con una importación de 27 millones de filas en la memoria de la base de datos powerBI es que va a ser masiva. Es por eso que sugerí la agregación fuera de PowerBI, primero.

Anonymous
Not applicable

"Dicho esto, el uso de "AverageX" será mucho más costoso que "Average" porque tiene que calcularlo para cada fila del conjunto de datos. "

Entiendo que esto no es cierto. Y que Average y AverageX son progamáticamente iguales, y ese promedio se traduce realmente a Average X en tiempo de ejecución. Véase "La guía definitiva de Dax".

Anonymous
Not applicable

@Kroneborge: Voy a echar un vistazo, gracias por compartir. Siento no tener una solución para ti.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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