Clasifique una columna, pero en el caso de los mismos valores, considere también otra columna para clasificar

Un usuario Pregunto ✅

RAHEEL

Hola a todos,

Necesito ayuda para clasificar por debajo del conjunto de datos usando la función dax en power bi.

Tengo recursos y quiero asignarles números únicos en función de su experiencia, pero si más de 1 recurso tiene la misma experiencia, también considere la columna de edad y quién es mayor obtenga el número más pequeño (es decir, rango más alto)

Por ejemplo, R1, R3 y R5 tienen 11 años de experiencia y obtendrán un rango normal de 1, pero quiero que asignen rangos 3, 1 y 2 respectivamente según los datos a continuación en función de su experiencia y edad.

Tampoco quiero saltarme nada de la secuencia en los números de rango.

Ayudar amablemente.

Además, no estoy seguro de si hay otra forma de hacer lo mismo que no sea la función de clasificación. La última columna en ROJO, es decir, RankingColumn, es la columna de salida deseada. Muy apreciado. Gracias

recurso Exp Envejecer ClasificaciónColumna
R1 11 40 3
R2 10 38 4
R3 11 42 1
R4 6 28 4
R5 11 41 2
R6 5 26 5

Saludos,

Raheel

Zubair_Muhammad

En respuesta a RAHEEL

Hola @RAHEEL

En ese caso

Primero agregue una columna de índice a su tabla usando QueryEditor/Power Query

53.png

Ahora puedes usar esta fórmula.

RANK=
RANKX (
    Table1,
    Table1[Exp]
        + Table1[Age] / 100
        + Table1[Index] / 1000,
    ,
    DESC,
    DENSE
)

Zubair_Muhammad

En respuesta a Zubair_Muhammad

@raheel

Ver la foto de abajo

Agregué una fila con la misma experiencia y edad.

54.png

Zubair_Muhammad

Hola @RAHEEL

Prueba esta técnica

Agregar una columna calculada del asistente

Assistant Column =
Table1[Exp]
    + Table1[Age] / 100

Ahora puedes clasificar usando esta columna

RANK=
RANKX ( Table1, Table1[Assistant Column],, DESC, DENSE )

33.png

Zubair_Muhammad

En respuesta a Zubair_Muhammad

@raheel

De hecho, no es necesaria la columna auxiliar.

Esta columna calculada debería ser suficiente

RANK =
RANKX ( Table1, Table1[Exp] + Table1[Age] / 100,, DESC, DENSE )

RAHEEL

En respuesta a Zubair_Muhammad

Perfecto… esto funcionó… PERO todavía hay un problema… donde tanto la edad como la experiencia son iguales, da como resultado el mismo rango… ¿alguna idea de cómo manejar esto?

Su tiempo es muy apreciado 🙂

Zubair_Muhammad

En respuesta a RAHEEL

Hola @RAHEEL

En ese caso

Primero agregue una columna de índice a su tabla usando QueryEditor/Power Query

53.png

Ahora puedes usar esta fórmula.

RANK=
RANKX (
    Table1,
    Table1[Exp]
        + Table1[Age] / 100
        + Table1[Index] / 1000,
    ,
    DESC,
    DENSE
)

Zubair_Muhammad

En respuesta a Zubair_Muhammad

@raheel

Ver la foto de abajo

Agregué una fila con la misma experiencia y edad.

54.png

RAHEEL

En respuesta a Zubair_Muhammad

Perfectooooo 🙂 esto funcionó para mí 🙂 Gracias 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *