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

Try your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join now

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
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

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

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.

Top Kudoed Authors