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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Syndicate_Admin
Administrator
Administrator

Clasificación de filas basadas en varias columnas con un orden específico

Hola

Necesito clasificar mis datos en función de updatedDate (Sort Asc) y Status, pero solo incremento para un estado específico. En su mayor parte, puedo usar rankx y obtener un pedido, pero necesito ayuda para modificar esto para garantizar que aumente solo para cierto estado.

Es decir, para cada ID, el estado "ND" siempre será la versión 1 (la fecha de actualización ayuda a garantizar esto) y a partir de ahí solo cuando el estado es "NDV" la versión debe incrementarse. Este cambio de estado entre "ND", estado intermedio (C, E) y "NDV" puede ocurrir cualquier número de veces. ND ocurrirá solo una vez.

Mi DAX actual para la columna "versión" a continuación

Versión = RANKX('Versión de prueba','Versión de prueba'[UpdatedDate] && 'Versión de prueba'[Estado]= "NDV",,ASC,Denso)

Salida necesaria: columna "VersionNeeded" a continuación

Datos de muestra y salida necesarios

IdentificaciónEstadoFecha de actualizaciónUpdatedDateOrderVersiónVersiónNecesado
1ND1-ene-21111
1E1-feb-21211
1NDV1-mar-21322
1C1-abr-21412
1NDV1-may-21523
1E1-jun-21613
1NDV1-jul-21724
1E1-ago-21814
1NDV1-sep-21925
2ND1-ene-21111
2E1-feb-21211
2NDV1-mar-21322
2E1-abr-21412
2NDV1-may-21523
2C1-jun-21613
2NDV1-jul-21724
¡Gracias de antemano por cualquier ayuda!
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

¿ @axy5092

Pruébalo

Vera_33_0-1644024540521.png

Version1 = 
RANKX( FILTER('TestVersion', 'TestVersion'[Status]= "NDV"),[UpdatedDateOrder],[UpdatedDateOrder]+1,ASC,Dense)

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hola @Vera_33, tengo una continuación de mi problema con el que estoy atascado, estoy tratando de encontrar el número de días entre las fechas para cada versión, por favor hágamelo saber si hay una manera de que pueda usar los rangos existentes y calcular la diferencia

Si hay un estado "E"/"C" después de "ND"/"NDV", calcule MaxUpdateDate(C/E) - MinUpdated(ND/NDV)

Else, si el estado más reciente de esa versión es "NDV" para un identificador, entonces = Hoy - MinUpdateDate(NDV)

P. ej...:

Id 549 versión 1, C es el estado más reciente, por lo que la línea 3, DaysinEachVersion = 9/6/2021-6/24/2021

Id 549 versión 2, NDV es el estado más reciente, por lo que la línea 2, DaysinEachVersion= Today()-12/3/2021

identificaciónestadoMinUpdatedDateMaxUpdatedDateVersiónUpdatedDateOrderDaysinEachVersion_ColumnNeeded
549C9/6/20219/6/202112
549NDV12/3/20211/19/20222366
549ND6/24/20218/1/20211174
615ND8/9/20219/7/20211141
615NDV10/27/202110/29/202123103
615E9/19/20219/19/202112

Apreciar cualquier orientación/Ayuda, Gracias

Syndicate_Admin
Administrator
Administrator

¿ @axy5092

Pruébalo

Vera_33_0-1644024540521.png

Version1 = 
RANKX( FILTER('TestVersion', 'TestVersion'[Status]= "NDV"),[UpdatedDateOrder],[UpdatedDateOrder]+1,ASC,Dense)

Genial, eso funcionó perfecto. Muchas gracias, apreciamos la rápida respuesta

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors