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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

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
Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors