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

Level up your Power BI skills this month - build one visual each week and tell better stories with data! Get started

Reply
sonm10
Helper I
Helper I

Cálculo acumulado en la misma columna

Hola a todos,

Tengo una mesa con varios artículos y su valor para las fechas. He calculado el cambio de su valor como retorno. Ahora necesito crear una columna que haga referencia a su valor anterior de la misma columna. Mis datos son los siguientes:

FechaTipoValordevoluciónColumna
1/1/2020A1 100
1/2/2020A21200
1/3/2020A30.5101
1/4/2020A40.333333134.6667
1/5/2020A50.25102
1/1/2020B7 100
1/2/2020B80.142857103
1/3/2020B90.125115.875
1/4/2020B100.111111104
1/5/2020B110.1114.4

Necesito calcular la nueva columna cuya fórmula es:

if(return s 0), luego 100

otro valor anterior * (1+ retorno)

Es bastante estrella hacia adelante en Excel. Podemos hacer directamente, E4 e3*(1+D4)

Cuando creo una fórmula similar en DAX, estoy recibiendo un error de bucle circular. Cualquier ayuda es apreciada.

1 ACCEPTED SOLUTION
Icey
Community Support
Community Support

Hola @sonm10 ,

Por favor, compruebe si esto es lo que desea:

Column 2 =
VAR CurrentDate = [Date]
VAR t =
    ADDCOLUMNS ( 'Table', "Return_1", [Return] + 1 )
RETURN
    PRODUCTX (
        FILTER ( t, [Type] = EARLIER ( [Type] ) && [Date] <= CurrentDate ),
        [Return_1]
    ) * 100

column2.PNG

Pero tengo algo de confusión. ¿Los datos marcados anteriormente están mal escritos?

Saludos

Icey

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

4 REPLIES 4
Icey
Community Support
Community Support

Hola @sonm10 ,

Por favor, compruebe si esto es lo que desea:

Column 2 =
VAR CurrentDate = [Date]
VAR t =
    ADDCOLUMNS ( 'Table', "Return_1", [Return] + 1 )
RETURN
    PRODUCTX (
        FILTER ( t, [Type] = EARLIER ( [Type] ) && [Date] <= CurrentDate ),
        [Return_1]
    ) * 100

column2.PNG

Pero tengo algo de confusión. ¿Los datos marcados anteriormente están mal escritos?

Saludos

Icey

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Muchas gracias @Icey . Exactamente lo que quería. Había cometido algunos errores en los datos de la muestra y sin embargo usted proporcionó exactamente lo que quería.

Anonymous
Not applicable

Hola @sonm10

Yo usaría la siguiente fórmula para crear una medida

Measure1 - IF('Table'[Return]+0 á 0,100,EARLIER('Table'[Value]) * (1+ 'Table'[Return])))

O

Measure1 - IF(ISNULL('Table'[Return]),100,EARLIER('Table'[Value]) * (1+ 'Table'[Return])))

amitchandak
Super User
Super User

@sonm10 , pruebe una nueva columna

if(coalesce([Return],0) á0,100 , [value] * (1+ [return]))

if(([Return]+0) á 0,100 , [value] * (1+ [return]))

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
April Power BI Update Carousel

Power BI Monthly Update - April 2026

Check out the April 2026 Power BI update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.