Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.
Check it out now!Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more
¡Hola a todos!
He probado algunas soluciones para totales acumulativos de otros mensajes, pero no puedo resolver mi problema.
La siguiente tabla como ejemplo de lo que necesito.
Tengo diferentes fechas / hora y descripción de entrada / salida, para muchos 'Tipos' (AHKW, YYKW como ejemplo).
Se calcula la columna 'Cantidad total corriente':
Cuando intento el mismo DAX para $ Totales obtengo 100,00 (ejemplo AHKW) pero debe ser 0 porque la cantidad acumulada es 0. Como resultado, la siguiente fecha de suma (-6560,00) es incorrecta y debe ser 6600,00.
Lo que necesito es el $ Running Total como la columna roja 'What should be'.
Muchas gracias!!
Hola @brunomoriya ,
Según la tabla de datos de ejemplo, la columna calculada parece funcionar bien, la cantidad acumulada de totales como -5200 + 5300 solo es 100, ¿por qué o cómo podría ser 0? Si desea obtener el resultado de la columna roja, ¿cuál es su lógica calculada... no está seguro de ello...
Best Looks,
Yingjie Li
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
hey @v-yingjl !
-5200 + 5300 es $$$ valor, y el total de ejecución es correcto para ser +100,
pero la lógica es cuando Ejecutar total para QUANTITY es cero, Total en ejecución para $ es cero y se restablece, devolviendo el primer valor $$ y sigue sumando hasta que Ejecutar total para cantidad es cero de nuevo.
Hola @brunomoriya ,
Puede crear estas dos columnas calculadas:
Running Total Quantity =
VAR _date = [Date]
VAR _type = [Type]
VAR tab =
ADDCOLUMNS (
SUMMARIZE (
'Table',
'Table'[Date],
'Table'[IN / OUT],
'Table'[Type],
'Table'[Quantity]
),
"Qty", IF ( [IN / OUT] = "OUT", 0 - [Quantity], [Quantity] )
)
RETURN
SUMX ( FILTER ( tab, [Type] = _type && [Date] <= _date ), [Qty] )
Running Total =
VAR _date = [Date]
VAR _type = [Type]
VAR tab =
ADDCOLUMNS (
SUMMARIZE (
'Table',
'Table'[Date],
'Table'[IN / OUT],
'Table'[Type],
'Table'[Totals],
'Table'[Running Total Quantity]
),
"total", IF (
[Running Total Quantity] = 0,
VAR _t = [Type]
VAR _d = [Date]
RETURN
ABS (
CALCULATE (
MAX ( 'Table'[Totals] ),
FILTER (
ALL ( 'Table' ),
'Table'[Type] = _t
&& 'Table'[Date]
= CALCULATE (
MAX ( 'Table'[Date] ),
FILTER ( ALL ( 'Table' ), 'Table'[Type] = _t && 'Table'[Date] < _d )
)
)
)
),
[Totals]
)
)
RETURN
SUMX ( FILTER ( tab, [Type] = _type && [Date] <= _date ), [total] )
La tabla de resultados será así:
Archivo de ejemplo adjunto que espera ayudarle, compruebe y pruébelo: Total acumulado/en ejecución que se restablece después de que otra columna llegue a zero.pbix
Best Looks,
Yingjie Li
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola de nuevo @v-yingjl,
Estaba analizando todos mis datos originales después de aplicar esa solución y tengo una situación aquí!
Tengo un tipo 'KKZW' que termina en 20/04/2020 y no hay más "IN" después de eso, diferente de otros tipos que tienen nuevos "IN" después de que la cantidad llega a cero.
Parece que es conseguir la primera fecha de cada tipo!
Voy a tratar de arreglar esa solución DAX, pero voy a apreciar cualquier ayuda!
Hola @brunomoriya ,
Prueba esto por favor:
Running Total =
CALCULATE (
SUM ( 'Table'[Quantity] ),
ALLEXCEPT ( 'Table', 'Table'[Type] ),
'Table'[Date] <= EARLIER ( 'Table'[Date] )
)
O
Running Total =
CALCULATE (
SUM ( 'Table'[Quantity] ),
ALL (
'Table',
'Table'[Type] = EARLIER ( 'Table'[Type] )
&& 'Table'[Date] <= EARLIER ( 'Table'[Date] )
)
)
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com
Hola, ¿es posible que proporcione el mismo código de ejemplo en Excel Power Query? El resultado debería restablecer el total acumulado a 0 y comenzar a hacer el total de ejecución cuando el valor en otro campo (cantidad) es cero.
Saludos
Haresh
Hola@AllisonKennedy !
La columna 'Running Total $' es sólo una referencia, está haciendo lo correcto como usted dijo, pero lo que necesito cuando 'Ejecutar TOTAL QUANTITY' llega a cero (porque IN - OUT - cero , 2 horas y medio más tarde), 'Running Total $" es cero, y restablece el 'Running Total $', devolviendo el primer valor para '$ Total' y seguir sumando hasta que 'Running Total QUANTITY' llegue a cero de nuevo.
Los cuadrados rojos en el ejemplo de datos muestran cuando la CANTIDAD de totales en ejecución alcanza cero, $$ debe ser cero y se restablece de nuevo, devolviendo el valor $ más temprano y seguir sumando hasta que la CANTIDAD de totales en ejecución vuelva a ser cero.
No estoy seguro si estoy claro, lo siento por mala 🙂