- 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

Autoreferencia de columna calculada en el período anterior
Para un poco de información sobre el problema, tengo datos mensuales con varios productos. Los productos pueden durar muchos meses y muchos productos pueden estar activos durante los mismos meses. Cada producto tiene un campo con una asignación máxima. Necesito extraer los valores para asignar de otra tabla y asignar estos valores a un producto hasta el punto en que se cumpla el máximo.
El problema con el que me encuentro son las dependencias circulares. Puedo crear una suma de ejecución de la asignación hasta el período anterior. No puedo hacer referencia a esta columna cuando intento extraer realmente los valores que se agregarían a la suma en ejecución a pesar de que es un período anterior. Construí lo siguiente en Excel para demostrar una versión más simple de lo que estoy tratando de replicar dentro de powerBI.
No puedo usar un índice porque la suma en ejecución está particionada por los diferentes productos y la fila indexada anterior podría ser un producto diferente. Cualquier sugerencia sería muy apreciada. ¡Gracias!
Cuenta | Producto | Fecha | Cantidad máxima | Cantidad mensual a asignar | Cantidad asignada | Suma de ejecución del mes anterior | ||
Cuenta 1 | Producto 1 | 1/31/2021 | 40 | 10.00 | 10 | =SI(H2 | ||
Cuenta 1 | Producto 1 | 2/28/2021 | 40 | 10.00 | 10 | =SI(H3 | 10 | =SUMA($F$2:F2) |
Cuenta 1 | Producto 1 | 3/31/2021 | 40 | 10.00 | 10 | =SI(H4 | 20 | =SUMA($F$2:F3) |
Cuenta 1 | Producto 1 | 4/30/2021 | 40 | 10.00 | 10 | =SI(H5 | 30 | =SUMA($F$2:F4) |
Cuenta 1 | Producto 1 | 5/31/2021 | 40 | 10.00 | 0 | =SI(H6 | 40 | =SUMA($F$2:F5) |
Cuenta 1 | Producto 1 | 6/30/2021 | 40 | 10.00 | 0 | =SI(H7 | 40 | =SUMA($F$2:F6) |
Cuenta 1 | Producto 1 | 7/31/2021 | 40 | 10.00 | 0 | =SI(H8 | 40 | =SUMA($F$2:F7) |
Cuenta 1 | Producto 1 | 8/31/2021 | 40 | 10.00 | 0 | =SI(H9 | 40 | =SUMA($F$2:F8) |
Cuenta 1 | Producto 1 | 9/30/2021 | 40 | 10.00 | 0 | =SI(H10 | 40 | =SUMA($F$2:F9) |
Cuenta 1 | Producto 1 | 10/31/2021 | 40 | 10.00 | 0 | =SI(H11 | 40 | =SUMA($F$2:F10) |
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

En ella, @case22
Powerbi no admite la recursión, pero sus necesidades no son completamente recursivas, debe ser compatible.
¿Qué tal esto?
Allocated Quantity =
VAR TOTAL =
SUMX (
FILTER (
Table,
[Date] <= EARLIER ( Table[Date] )
&& [Product] = EARLIER ( Table[Product] )
),
[Monthly Quantity to Assign]
)
VAR maxquantity =
MAXX (
FILTER ( Table, [Product] = EARLIER ( Table[Product] ) ),
[Max Quantity]
)
RETURN
IF ( TOTAL > maxquantity, 0, TOTAL )
Saludos
Equipo de apoyo a la comunidad _ Janey
Si esta publicación ayuda, por favor considere Acéptalo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Gracias por la respuesta. Necesito que esté ejecutando la suma antes de este mes y a nivel de producto. Puedo manipular el código que proporcionaste para obtener eso.
sumx(filter(Table, [Date] < anterior([Date]) && [Product] = Earlier([Product])) , [Cantidad asignada])
Sin embargo, el problema es que necesito verificar esta suma en ejecución dentro de la "Columna de asignación". Los dos trabajan juntos.
El código Psuedo para Asignación sería ...
Si la suma de ejecución < máximo permitida
a continuación, Cantidad mensual para asignar
más 0
Sin embargo, esta metodología me da un error de dependencia circular ya que la suma de ejecución es una derivación de la "Asignación" de los meses anteriores.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

En ella, @case22
De acuerdo con su descripción, creo que puede crear una columna.
Así:
Allocated Quantity =
VAR TOTAL =
SUMX (
FILTER ( Table, [Date] <= EARLIER ( [Date] ) ),
[Monthly Quantity to Assign]
)
RETURN
IF ( TOTAL > [Max Quantity], 0, TOTAL )
Saludos
Equipo de apoyo a la comunidad _ Janey
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Gracias por la respuesta. Esto no funciona, ya que solo duplicará [Cantidad mensual para asignar] cuando haya varios productos. Funcionará con los datos de ejemplo, pero como dije, puede haber múltiples productos por cuenta y fecha.
La fórmula que proporcionó es una suma en ejecución de una columna hasta cierto punto. Necesito un cálculo en el que la suma en ejecución del cálculo en sí no pueda exceder un cierto punto y no creo que power bi ofrezca ese nivel de recursividad. He llegado a la conclusión de que simplemente no tengo la flexibilidad para hacer esto dentro de power bi y escribí un script sql para calcularlo en el origen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

En ella, @case22
Powerbi no admite la recursión, pero sus necesidades no son completamente recursivas, debe ser compatible.
¿Qué tal esto?
Allocated Quantity =
VAR TOTAL =
SUMX (
FILTER (
Table,
[Date] <= EARLIER ( Table[Date] )
&& [Product] = EARLIER ( Table[Product] )
),
[Monthly Quantity to Assign]
)
VAR maxquantity =
MAXX (
FILTER ( Table, [Product] = EARLIER ( Table[Product] ) ),
[Max Quantity]
)
RETURN
IF ( TOTAL > maxquantity, 0, TOTAL )
Saludos
Equipo de apoyo a la comunidad _ Janey
Si esta publicación ayuda, por favor considere Acéptalo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

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-12-2024 07:43 AM | |||
03-19-2024 02:43 PM | |||
03-21-2020 08:57 AM | |||
04-23-2020 06:53 AM | |||
03-10-2024 11:19 PM |