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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
jordidume
New Member

Suma acumulada con reinicio en 0

Hola a todos!

 

Necesito hacer una suma acumulada de una variable pero que no llegue nunca a valores negativos, y cuando sea 0, entonces debe reinicializarse el acumulado. Es decir, tengo una medida que calculo en base a unos campos y unos parámetros que quiero acumularla, pero no debe de ser nunca inferior a 0 y cuando esto sucede, el acumulado debe de volver a empezar. Alguién sabe como puedo hacerlo?

 

Gracias!

2 REPLIES 2
jordidume
New Member

Hola!

Muchas gracias por tu respuesta. De todos modos no me funciona... te explico con ejemplo el caso. Tengo la variable "Medida" que quiero sumar acumulativamente (según fecha, columna "data") de tal forma que si el acumulado resulta negativo debe de reiniciarse y voler a empezar la suma acumulativa (columna "acumulado positivo"). Esta medida "acumulado positivo" es la que no sé como formularla en Power BI. Se te ocurre cómo hacerlo?

 

dataMedidaAcumulado positivo
01/07/2021556556
02/07/2021-50506
03/07/2021-5006
04/07/2021-5000
05/07/2021200200
06/07/2021-100100
07/07/2021-3000
08/07/2021200200
09/07/2021-3000
10/07/2021200200
11/07/2021100300

 

Muchas gracias!

rajendraongole1
Super User
Super User

Hi @jordidume -Para crear una medida de suma acumulativa en Power BI que nunca sea negativa y se restablezca cuando llegue a cero, deberá implementar una fórmula DAX que verifique el total acumulado en cada paso.

A continuación se muestra un ejemplo que utiliza una tabla llamada YourTable y una medida llamada YourMeasure que desea acumular.

A continuación se muestra la medida FYR

CumulativeSum =
VAR CurrentRow = 'YourTable'[ID] // Assuming you have a unique identifier for each row
VAR CurrentValue = 'YourTable'[YourMeasure]
VAR PreviousRows = FILTER(
ALL('YourTable'),
'YourTable'[ID] <= CurrentRow
)
VAR RunningTotal =
SUMX(
PreviousRows,
'YourTable'[YourMeasure]
)
VAR ZeroOrNegative =
SUMX(
FILTER(
PreviousRows,
'YourTable'[ID] <= CurrentRow
),
'YourTable'[YourMeasure]
) <= 0
RETURN
IF(
ZeroOrNegative,
0,
MAXX(
FILTER(
PreviousRows,
'YourTable'[ID] = CurrentRow
),
RunningTotal
)
)

 

Este enfoque garantiza que su suma acumulada nunca sea negativa y se reinicie cuando llegue a cero.

 

¿Respondí tu pregunta? ¡Marca mi publicación como solución! ¡Esto ayudará a otros en el foro!
¡¡Aprecio tus felicitaciones!!





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.