La columna de saldo total calculado no puede ser negativa

Un usuario Pregunto ✅

DarkEnergy22

Hola comunidad,

Intenté resolver esto por mí mismo con declaraciones IF y variables, pero ya no puedo pensar en nada. Tengo una medida de columna de saldo que debe completarse con la suma total de JBalance[Mutations] cronológicamente.

La tabla está ordenada por fecha y tiene un índice, pero no puedo por mi vida construirla de una manera en la que la salida no pueda ser menor que 0 y la medida comience a calcular desde 0 nuevamente. Esto es lo que tengo ahora mismo:

Balance = CALCULATE (SUM (‘JBalance'[Mutation]), FILTRO (‘JBalance’, ‘JBalance'[Index]<= ANTES ('JBalance'[Index])))

Lo necesito para ajustar dinámicamente el rango del FILTRO cuando alcanza un resultado inferior a 0. Puedo hacer que salga un 0 mediante una declaración IF, pero no puedo pensar en una manera de actualizar el FILTRO para comenzar de nuevo desde 0 (como en ajustar el filtro en JBalance ‘[Index], sin tener en cuenta las filas anteriores para que el total de SUMA comience a calcular a partir de la fila actual)

DarkEnergy22_0-1616511251996.png

Salida de solución:

DarkEnergy22_0-1616512743464.png

rfigtree

https: //community.powerbi.com/t5/DAX-Commands-and-Tips/Cumulative-total-that-starts-over-when-the-to …

daxer-todopoderoso

En respuesta a rfigtree

Hola @rfigtree

Ajusté la publicación para la que nos diste un enlace para calcular lo que quiere @ DarkEnergy22. De hecho, esto funciona. Estaba convencido de que no se podía elaborar una fórmula para esto, pero aparentemente estaba equivocado. 🙂 Cada día algo nuevo, parece.

// So, the first calculated column must be:
[Cumulative Sum] =
var vCurrentDate = T[Date]
return
sumx(
    filter( T, T[Date] <= vCurrentDate),
    T[Mutation]
)

// The second column will be:
[Cummin of Cumulative Sum] =
var vMin =
minx(
    filter( T, T[Date] <= vCurrentDate),
    T[Cumulative Sum]
)
return
min( 0, vMin )

// The final column:
[Cumulative Sum Adjusted] =
    T[Cumulative Sum] - T[Cummin of Cumulative Sum]

daxer-todopoderoso

@ DarkEnergy22

Compañero, ahórrese la pena y calcule esto en Power Query. Tu fórmula es recursiva por naturaleza y puedes olvidarte de calcular esto es DAX. Tales fórmulas recursivas no son posibles en este idioma. Power Query o el idioma de la fuente de datos es su solo oportunidad.

TarunSharma

Hola @ DarkEnergy22,
Está sucediendo porque el saldo del índice es menor y la mutación del índice 39 es mayor.
¿Puede proporcionar los datos en formato de tabla en lugar de imagen?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *