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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
Syndicate_Admin
Administrator
Administrator

Power Query: calcular un valor de una columna basado en el valor anterior de la misma columna

Hola

Tengo el siguiente problema y necesito una solución para solucionarlo con Power Query:

Ich tiene diferentes versiones (22.1, 22.2, 22.3 , 22.4, 23.1, 23.2, 23.3, 23.4)

En cada lanzamiento se da la capacidad necesaria y la capacidad disponible.

Ahora quiero calcular el superávit y el backlog para estas capacidades:

El excedente es sólo [capacidad necesaria] - [capacidad disponible]

El backlog debe agregar el valor del backlog del paso anterior + excedente. Si esto es negativo, debe establecerse en 0

Ejemplo:

Liberar la capacidad necesaria Capacidad disponible Excedente de trabajo pendiente Descripción
22,1 35 30 5 5 5 días de estancia en el trabajo atrasado porque la capacidad disponible es inferior a la capacidad necesaria
22.2 40 30 10 15 10 días desde la versión actual + 5 días desde el retraso en el paso anterior
22,3 20 30 -10 5 El trabajo atrasado se reduce en 10 días
22,4 10 30 -20 0 El trabajo pendiente se reduce a 0 porque quedan 20 días en la versión, pero sólo 5 días estaban en el trabajo pendiente
23.1 45 30 15 15 15 días a partir de esta versión entran en el backlog
23,2 30 30 0 15 15 días de estancia en el trabajo atrasado
23.3 25 30 -5 10 5 días en esta versión están disponibles para reducir el trabajo pendiente
23.4 10 30 -20 0 20 días están disponibles en esta versión, lo que reduce el trabajo pendiente a 0


Así que mi pregunta es: Cómo resolver esto en Power Query (calcular la columna de trabajo pendiente en función del valor del trabajo pendiente anterior)

Espero sus respuestas 🙂

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Genial, gracias por esta solución

Syndicate_Admin
Administrator
Administrator

Power Query no tiene ningún concepto de "anterior". Debe indicar lo que eso significa en su escenario, idealmente agregando una columna de índice. Puede eliminar las columnas que no forman parte del problema.

A partir de ahí es un List.Accumulate estándar para calcular el valor del backlog:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjLSM1TSUTI2BREGSrE6YCEjIM/EAEXIGMgzQhUyAfIMkYWMwWaZmKIIGUF4yEJgs1BVoZgVCwA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Release = _t, #"Needed Capacity" = _t, #"Available Capacity" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Needed Capacity", Int64.Type}, {"Available Capacity", Int64.Type}}),
    #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
    #"Added Custom" = Table.AddColumn(#"Added Index", "Backlog", each List.Accumulate({0..[Index]},0,(state,current)=> List.Max({0, state + #"Added Index"[Needed Capacity]{current}-#"Added Index"[Available Capacity]{current}})))
in
    #"Added Custom"

lbendlin_0-1669478005970.png

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors