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
myou
Helper II
Helper II

DAX- cómo acceder al valor anterior y recalcular en consecuencia

Me enfrento a dificultades para calcular esta fórmula en Archivo de Excel con fórmula (Saldo acumulado y Saldo final)

Saldo acumulado: if( Previous FinalBalance >30 , Entitlment +30 , Entitlement + Previous FinalBalance)

Saldo Final - Balance Acumulado - Licencia Utilizada en el año

excel.PNG

Aquí está el archivo pbix en el enlace

Archivo PBIX

4 REPLIES 4
Greg_Deckler
Super User
Super User

Dentro de una tabla, si tiene una columna que define un pedido, puede hacerlo mediante la función EARLIER. Estoy asumiendo aquí que tiene un problema para obtener el saldo anterior. La técnica general se muestra en mi artículo sobre tiempo medio entre errores (MTBF) que utiliza EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395...

Por lo tanto, una columna en una tabla sería algo así como:

Accumulated Balance = 
  VAR __Entitlement = 'Table'[Entitlement]
  VAR __PreviousFinalBalanceDate = MAXX(FILTER('Table',[Date] < EARLIER([Date]),[Date])
  VAR __PreviousFinalBalance = MAXX(FILTER('Table',[Date] = __PreviousFinalBalanceDate),[Final Balance])
RETURN
  IF( __PreviousFinalBalance  >30 , __Entitlment +30 , __Entitlement + __PreviousFinalBalance )

@ 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...

Una vez más, no tengo suficiente información para realmente pasar a presentar una solución. Por favor, consulte este post sobre cómo obtener su pregunta respondida rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

Pero, como medida, podría hacer esto:

Accumulated Balance Measure = 
  VAR __Entitlement = MAX('Table'[Entitlement])
  VAR __Date = MAX('Table'[Date])
  VAR __BalanceTable = 
    ADDCOLUMNS(
      ALL('Table'),
      "Final Balance",[Final Balance Measure]
    )
  VAR __PreviousFinalBalanceDate = MAXX(FILTER(__BalanceTable,[Date] < __Date,[Date])
  VAR __PreviousFinalBalance = MAXX(FILTER(__BalanceTable,[Date] = __PreviousFinalBalanceDate),[Final Balance])
RETURN
  IF( __PreviousFinalBalance  >30 , __Entitlment +30 , __Entitlement + __PreviousFinalBalance )

Por lo tanto, esencialmente lo mismo excepto que usted crea su tabla de saldo dinámicamente dentro de la medida.


@ 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...

@Greg_Deckler

Esto funcionará si el saldo final es una columna fija, pero su dinámica que lo vuelve a calcular autoacconándose al balance acumulado

Puedo saber sólo la primera fila, entonces empieza a ser difícil

Correcto, usted tendrá que ser mucho más claro acerca de cómo se distribuyen sus datos y exactamente cuáles son sus parámetros. Pero, me parece que tienes un problema de recursividad en tus manos. La recursividad verdadera no es posible en DAX. En algunas circunstancias, puedes forzar tu camino hacia la victoria. He escrito algunos artículos sobre estos temas.

Valor anterior (también conocido como recursividad):

También acabo de escribir dos fórmulas financieras para DB y DDB que utilizan esta técnica:

Si nada de esto es útil entonces simplemente no entiendo lo que estás tratando de hacer.


@ 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...

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.