Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon'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.
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!
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?
data | Medida | Acumulado positivo |
01/07/2021 | 556 | 556 |
02/07/2021 | -50 | 506 |
03/07/2021 | -500 | 6 |
04/07/2021 | -500 | 0 |
05/07/2021 | 200 | 200 |
06/07/2021 | -100 | 100 |
07/07/2021 | -300 | 0 |
08/07/2021 | 200 | 200 |
09/07/2021 | -300 | 0 |
10/07/2021 | 200 | 200 |
11/07/2021 | 100 | 300 |
Muchas gracias!
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!!
Proud to be a Super User! | |
User | Count |
---|---|
116 | |
73 | |
62 | |
50 | |
46 |
User | Count |
---|---|
173 | |
123 | |
60 | |
59 | |
57 |