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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
astojanac
Helper II
Helper II

DAX para utilizar el valor anterior de la misma columna en el cálculo posterior

Hola Comunidad!

Alguien puede ayudarme con un DAX específico.
Quiero usar el valor anterior en la misma columna para una suma adicional con valor en otra columna.


Para más detalles aquí es un ejemplo simple de lo que necesito en Excel.Previous value.PNG


Parece tan fácil, pero he estado tratando de averiguar cómo conseguir esto durante unos días....

¡Thansk por adelantado!

15 REPLIES 15
Milagros389
Regular Visitor

@amitchandak podrias por favor ayudarme con este post que hice https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/valor-anterior/m-p/3328171. Es parecido a este problema pero tengo que multiplicar y dividir y no se como lograrlo.

Gracias!!

Greg_Deckler
Super User
Super User

Quizás:

Column =
  MAXX(FILTER('Table',[Month] = EARLIER([Month]) - 1),[New End Amount])

@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Hola

@astojanac

Una nueva columna como esta debería funcionar

column =
var _max = minx(filter(Table,table[Real Start Amount]=0),Table[Month])
var _maxamt = minx(filter(Table,Table[Month]=_max),Table[New end Amount])
var _maxMonth = maxx(filter(Table,table[Month]<=earlier(table[Month])),Table[Month])
return
if(Table[Month]<=_max, [month Amount] + [Real Start Amount],[Real Start Amount], sumx(filter(Table,Table[Month]>_max && Table[Month]<=_maxMonth),[month Amount]))

Si puede compartir datos en un formato de tabla, podemos proporcionar cálculos exactos

Hola @amitchandak ,

Espero que lo estés haciendo bien!


Recuerdo que me ayudaste mucho aquí, así que ¿puedo pedirte ayuda con un problema similar?

Lucho con el dax dinámico que debería usar el valor calculado previamente en la nueva fila.

En el siguiente enlace puedes encontrar el ejemplo xlsx, la ayuda que necesito es para la columna 'Cerrando':
https://www.dropbox.com/s/hlnfvukew1q3ah5/Sample%20data.xlsx?dl=0

Gracias de antemano!

Atentamente

Alex

Gracias , pero no solución todavía, porque no puedo usar Nueva Cantidad Final, Nueva Cantidad Final es lo que necesitamos.

Aquí hay enlaces a .pbix y .xlsx simplificados

PowerBI Problem.pbix

PowerBI Problem.xlsx


Mi modelo no es tan simple como esto, tengo alrededor de 10 tablas y fuente no es sobresaliente, pero todo lo que necesito ahora si que Dax y yo lo adaptaremos.

Estaría muy agradecido si pudiéramos encontrar solition 😞
Gracias de antemano !

littlemojopuppy
Community Champion
Community Champion

Lo que parece que quieres hacer sería muy fácil usando cálculos de inteligencia del tiempo. Y necesitarás una mesa de citas.

Sin ver el modelo de datos el DAX sería algo así

IF(
 OR(
  RealStartAmount = 0,
  ISBLANK(RealStartAmount),
 ),
 CALCULATE(
  NewEndAmount,
  PREVIOUSMONTH(Calendar[Date])
 ) + MonthAmount,
 RealStartAmount + MonthAmount
)

Querido littlemojopuppy,

Gracias por tu respuesta. Tengo tabla de fechas, pero esto no es una solución para mi problema.
No puedo usar NewEndAmount en calculate porque NewEndAmount es lo que estoy buscando. Necesito fórmula para NewEndAmount.

Puedo publicar simplificado .pbix ejemplo si se puede comprobar qué más podría probar.

¡Gracias de nuevo!

Hola. Si mira el código que proporcioné, está usando inteligencia de tiempo para calcular el valor del mes anterior de Nueva cantidad final, que es exactamente lo que se indica en la fórmula de Excel. Pruébalo...

IF(
 OR(
  RealStartAmount = 0,
  ISBLANK(RealStartAmount),
 ),
 CALCULATE(
  NewEndAmount,
  PREVIOUSMONTH(Calendar[Date])
 ) + MonthAmount,
 RealStartAmount + MonthAmount
)

Gracias de nuevo littlemojopuppy, pero no puedo adaptar su código:

IF(

OR(
RealStartAmount n.o 0,
ISBLANK(RealStartAmount),
),
CALCULAR(
NewEndAmount, - Esta es parte que no puedo poner en calcular, causa columna que quiero calcular es NewEndAmount
PREVIOUSMONTH(Calendario[Fecha])
) + MonthAmount,
RealStartAmount + MonthAmount

He publicado la muestra en el comentario anterior, así que puedo complacer a comprobarlo allí againg? ¡Muchas gracias!




@astojanac ,

New End Amount = 
var _max = MaxX(filter('ALL',COALESCE([Real Start Amount],0)>0),[Month])
var _maxamt = minx(filter('ALL',[Month]=_max),[Real Start Amount]+[Month Amount])
var _maxMonth = maxx(filter('ALL',[Month]<=earlier('ALL'[Month])),[Month])
return 
 if(_maxMonth<=_max, ([month Amount] + [Real Start Amount]),_maxamt+ sumx(filter('ALL','ALL'[Month]>_max && 'ALL'[Month]<=_maxMonth),[month Amount]))

Por favor, encuentre la firma adjunta del archivo adjunto

Aquí encuentras la solución al problema.

Querido @amitchandak,
Muchas gracias. ¡Me ayudaste mucho!

Y gracias a todos los que trataron de ayudar y resolver mi problema 🙂

Es sólo modificar un poco seguir amitchandak y se puede utilizar para una medida:

Nuevo importe final =
Dónde _..max = MaxX(filtro('TODOS',COALESCE([Importe inicial real],0)>0),[Mes])
Dónde _maxamt = bribona(filtro('TODOS',[Mes]=_..max),[Importe inicial real]+[Monto del mes])
Dónde _maxMonth = máx.(filtro('TODOS',[Mes]<=Máximo([Mes])),[Mes])
devolución
si(_maxMonth<=_..max, (VALOR SELECCIONADO(Plan[Monto del mes]) + VALOR SELECCIONADO(Real_[Importe inicial real])),_maxamt+ sumx(filtro('TODOS','TODOS'[Mes]>_..max && 'TODOS'[Mes]<=_maxMonth),[Importe del mes]))
Anonymous
Not applicable

Hola @astojanac 

¿Podrías compartir la solución que te dieron, por favor? No puedo abrir el archivo y tengo un problema similar que no he podido resolver. 

Gracias!!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.