Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowTry your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join now
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:
| Fecha | Tipo | Valor | devolución | Columna |
| 1/1/2020 | A | 1 | 100 | |
| 1/2/2020 | A | 2 | 1 | 200 |
| 1/3/2020 | A | 3 | 0.5 | 101 |
| 1/4/2020 | A | 4 | 0.333333 | 134.6667 |
| 1/5/2020 | A | 5 | 0.25 | 102 |
| 1/1/2020 | B | 7 | 100 | |
| 1/2/2020 | B | 8 | 0.142857 | 103 |
| 1/3/2020 | B | 9 | 0.125 | 115.875 |
| 1/4/2020 | B | 10 | 0.111111 | 104 |
| 1/5/2020 | B | 11 | 0.1 | 114.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.
Solved! Go to Solution.
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
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.
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
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.
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])))
@sonm10 , pruebe una nueva columna
if(coalesce([Return],0) á0,100 , [value] * (1+ [return]))
if(([Return]+0) á 0,100 , [value] * (1+ [return]))
Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.
Check out the May 2026 Power BI update to learn about new features.