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

DAX Power BI Ratio pervious row

Quiero calcular la relación basada en la fila anterior se denomina "Importe" basado en "ID de programa" y "ID de tarea" y "ID de subtarea".

Necesito escribirlo por una medida (sólo medir) en power bi y DAX.

aquí están los datos de muestra que he generado en Excel. Necesito una fórmula para la columna "Measure Ratio" de DAX.

Capture.PNG

Enlace de archivos de Power BI para descargar: https://gofile.io/d/oOa25R

por favor hacerlo en power bi y explicar el método

@amitchandak

@parry2k

1 ACCEPTED SOLUTION

Hola @MrDarian ,

Prueba esta medida.

RatioMeasure ?

var _minsub á CALCULATE(MIN('Table'[Sub ID ]), FILTER(ALL('Table'),'Table'[PID]- MAX('Table'[PID]) && 'Table'[ID] á MAX('Table'[ID])))
var _maxsubid ? CALCULATE(MIN('Table'[Amount]),FILTER(ALL('Table'),'Table'[PID]- MAX('Table'[PID]) && 'Table'[ID] ? MAX('Table'[ID])-1 && 'Table'[Table'[ID Sub ] ? MAXX('Table'),'Table')))))".Table')))'Table')'Table''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
var _previousamount á CALCULATE(MAX('Table'[Amount]), FILTER(ALL('Table'),'Table'[PID]- MAX('Table'[PID])&&'Table'[ID] á MAX('Table'[ID]) && 'Table'[Sub ID ] ? MAX( 'Table'[Sub ID ]) -1))

devolución
SWITCH(
TRUE(),
MAX('Table'[Sub ID ]) á _minsub && MAX('Table'[ID]) á MINX('Table'[ID]),'Table'[ID]), DIVIDE(MAX('Table'[Amount]),MAX('Table'[Amount])),
MAX('Table'[Sub ID ]) á _minsub, DIVIDE(MAX('Table'[Amount]),_maxsubid),
DIVIDE(MAX('Tabla'[Cantidad]),_previousamount)
)
Además, sólo una petición. Pls pegar el formato de texto de sus datos la próxima vez para una resolución más rápida.
1.jpg

saludos
Harsh Nathani

¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)

View solution in original post

6 REPLIES 6
V-pazhen-msft
Community Support
Community Support

@MrDarian

Le sugiero que agregue primero una columna de índice en el Editor de consultas. A continuación, cree la medida:

Measure = 
var previousrow = CALCULATE ( MIN('Table'[Amount]), FILTER(ALLSELECTED('Table'),'Table'[Index]=MIN([Index])-1))
var FirstrowForeachProgram = MIN('Table'[Amount])/MIN('Table'[Amount]) //or just = 1

Return IF(MIN('Table'[Index])=CALCULATE(MIN([Index]),ALLEXCEPT('Table','Table'[Program ID])),
FirstrowForeachProgram,SUM('Table'[Amount]) / previousrow)

Paul Zheng _ Equipo de apoyo de la comunidad
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

no funciona por índice porque los datos no se registran por orden.

en realidad graban así

ID del programaID de tareaId. de SubTaskCantidad
11110
21120
31115
11214
21213
31230
mahoneypat
Employee
Employee

Por favor, pruebe esta expresión:

Ratio to Previous Subtask =
VAR __thisvalue =
    MIN ( Table[Amount] )
VAR __thissubtaskID =
    MIN ( Table[SubTask ID] )
VAR __prevvalue =
    CALCULATE (
        MIN ( Table[Amount] ),
        ALLEXCEPT ( Table, Table[Program ID], Table[Task ID] ),
        Table[SubTask ID] = __thissubtaskID - 1
    )
RETURN
    DIVIDE ( __thisvalue, __prevvalue )

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


no funciona

estas dos filas no se muestran (fila 2 y fila 11), me refiero a la submarea ID 1

basado en mi imagen ine initail post

Capture.PNG

su fórmula no funciona en filas resaltadas (yello one) como la imagen de abajo:

Capture.PNG

@mahoneypat

@edhans

@harshnathani

Hola @MrDarian ,

Prueba esta medida.

RatioMeasure ?

var _minsub á CALCULATE(MIN('Table'[Sub ID ]), FILTER(ALL('Table'),'Table'[PID]- MAX('Table'[PID]) && 'Table'[ID] á MAX('Table'[ID])))
var _maxsubid ? CALCULATE(MIN('Table'[Amount]),FILTER(ALL('Table'),'Table'[PID]- MAX('Table'[PID]) && 'Table'[ID] ? MAX('Table'[ID])-1 && 'Table'[Table'[ID Sub ] ? MAXX('Table'),'Table')))))".Table')))'Table')'Table''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
var _previousamount á CALCULATE(MAX('Table'[Amount]), FILTER(ALL('Table'),'Table'[PID]- MAX('Table'[PID])&&'Table'[ID] á MAX('Table'[ID]) && 'Table'[Sub ID ] ? MAX( 'Table'[Sub ID ]) -1))

devolución
SWITCH(
TRUE(),
MAX('Table'[Sub ID ]) á _minsub && MAX('Table'[ID]) á MINX('Table'[ID]),'Table'[ID]), DIVIDE(MAX('Table'[Amount]),MAX('Table'[Amount])),
MAX('Table'[Sub ID ]) á _minsub, DIVIDE(MAX('Table'[Amount]),_maxsubid),
DIVIDE(MAX('Tabla'[Cantidad]),_previousamount)
)
Además, sólo una petición. Pls pegar el formato de texto de sus datos la próxima vez para una resolución más rápida.
1.jpg

saludos
Harsh Nathani

¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)

gracias por su correcta respuesta.

¿Qué hay de los datos que faltan?

si no existe algún "ID", ahora no puede calcular y está en blanco. ¿Hay alguna manera de definir y seleccionar la última fila anterior que existe?

@harshnathani

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.