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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

RANX devuelve varios rangos por el mismo valor

Una medida rankx aparentemente simple no está devolviendo los valores que esperaría, y he intentado todo para resolver el problema.

Tengo una tabla de puntajes por persona, donde cada persona puede tener 1 o más puntajes en una prueba. He creado una medida para promediar sus puntuaciones: promedio(Tabla[Puntuaciones]). Esto funciona correctamente.

Luego creé una medida para clasificar los puntajes promedio por persona: rankx(allselected(Table[Names]),[Average],,desc,Dense). Esto funciona principalmente , con algunas excepciones:

En el primer ejemplo, las personas 1, 2 y 3 están empatadas en el puntaje promedio, pero las personas 1 y 2 están empatadas en la clasificación, mientras que la persona 3 está un rango más bajo que ellos. Puedes ver que esto no es un error de redondeo de los promedios (que yo sepa, a menos que PBI lo esté calculando de una manera extraña). La única diferencia es la cantidad de puntuaciones. Además, las personas 6 y 7 también tienen el mismo promedio y tienen diferentes rangos.

Rank Mismatched.png

En este ejemplo, la persona A y B tienen la misma puntuación media, pero diferentes cantidades de puntuaciones. Los puntajes brutos individuales para cada persona tampoco parecen tener ningún efecto, ya que son diferentes para cada persona.

Rank Tied 4th.png

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@DFPRO sí, sube a 4 decimales, como mencioné, mejor usar la función RANK y sí, puede usarla para medidas, no estoy seguro de dónde obtiene que esto no se puede usar para medidas. ¡Absolutamente puedes usarlo!

Syndicate_Admin
Administrator
Administrator

@parry2k gracias por la recomendación. Esta solución funciona, sin embargo, me preocupa el redondeo. ¿Currency() se redondea al 5º decimal? Me preocupa que pueda haber casos en los que esto cause problemas, y preferiría redondear al decimal 10 o superior, por ejemplo. Sin embargo, según mis datos actuales, funciona correctamente.

Pensé que RANK() no se podía usar para clasificar medidas, ¿solo columnas? En este caso, no puedo usar RANK(), sino solo RANKX().

Syndicate_Admin
Administrator
Administrator

@DFPRO He visto en el pasado, generalmente es debido al redondeo de números decimales, intente usar el siguiente código o recomendaría usar la nueva función RANK, pero primero intente con esto

rankx(allselected(Table[Names]),CURRENCY([Average]),,desc,Dense)

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors