- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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 🙂
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Genial, gracias por esta solución
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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"

Helpful resources
Join us at the Microsoft Fabric Community Conference
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Power BI Monthly Update - February 2025
Check out the February 2025 Power BI update to learn about new features.

Subject | Author | Posted | |
---|---|---|---|
06-20-2023 10:32 AM | |||
07-04-2024 11:23 PM | |||
12-21-2023 04:48 AM | |||
06-05-2024 06:35 PM | |||
04-23-2020 06:53 AM |
User | Count |
---|---|
1 | |
1 | |
1 | |
1 |