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
Syndicate_Admin
Administrator
Administrator

RANK en múltiples medidas con diferente orden

Hola

Tengo un escenario que cada mes los contratistas cotizan con más de 4 opciones con diferentes criterios, algunos valores de criterios son más altos cuanto mejor, algunos criterios de valor son más bajos cuanto mejor. Todos los Criterios se calculan como una "Medida". Así que necesito clasificar todas las múltiples medidas juntas, considerando el orden de clasificación, y para cada mes. ¿Podría por favor ayudar amablemente a formular esto?, será muy útil.

MesNombreOpciónCriterio 1
%
(Cuanto más alto, mejor)
Criterio 2
Número
(Cuanto más alto, mejor)
Criterio 3
%
(Más bajo, mejor)
Criterio 4
Número
(Más bajo, mejor)
Ene.21Contratista 1Opción 190%690%6
Ene.21Contratista 1Opción 292%792%7
Ene.21Contratista 1Opción 393%6.593%6.5
Ene.21Contratista 1Opción 487%787%7
Ene.21Contratista 2Opción 187%7.587%7.5
Ene.21Contratista 2Opción 286%886%8
Ene.21Contratista 2Opción 397%897%8
Ene.21Contratista 2Opción 495%8.595%8.5
Ene.21Contratista 3Opción 175%975%9
Ene.21Contratista 3Opción 298%9.598%9.5
Ene.21Contratista 3Opción 397%797%7
Ene.21Contratista 3Opción 493%693%6
Feb.21Contratista 1Opción 190%690%6
Feb.21Contratista 1Opción 292%792%7
Feb.21Contratista 1Opción 393%6.593%6.5
Feb.21Contratista 1Opción 487%787%7
Feb.21Contratista 2Opción 187%7.587%7.5
Feb.21Contratista 2Opción 286%886%8
Feb.21Contratista 2Opción 397%897%8
Feb.21Contratista 2Opción 495%8.595%8.5
Feb.21Contratista 3Opción 175%975%9
Feb.21Contratista 3Opción 298%9.598%9.5
Feb.21Contratista 3Opción 397%797%7
Feb.21Contratista 3Opción 493%693%6
1 ACCEPTED SOLUTION

Hola

esto es lo que obtengo

serpiva64_1-1645197798523.png

usando estas 2 medidas (RankTotal no es necesario pero ayuda a entender)

RankTotal por mes =
Dónde currentmonth = filtro('Tabla',mes(«Tabla»[Fecha]))
Dónde Rango1 = RANKX(currentmonth,«Cuadro»[Criterio 1],,ASC)
Dónde Rango2 = RANKX(currentmonth,«Cuadro»[Criterio 2],,ASC)
Dónde Rango3 = RANKX(currentmonth,«Cuadro»[Criterio 3],,DESC)
Dónde Rango4 = RANKX(currentmonth,«Cuadro»[Criterio 4],,Desc)
Dónde RankTotal = Rango1+Rango2+Rango3+Rango4
devolución
RankTotal
RankGlobal por mes =
Dónde currentmonth = filtro('Tabla',mes(«Tabla»[Fecha]))
Dónde Rango1 = RANKX(currentmonth,«Cuadro»[Criterio 1],,ASC)
Dónde Rango2 = RANKX(currentmonth,«Cuadro»[Criterio 2],,ASC)
Dónde Rango3 = RANKX(currentmonth,«Cuadro»[Criterio 3],,DESC)
Dónde Rango4 = RANKX(currentmonth,«Cuadro»[Criterio 4],,Desc)
Dónde RankTotal = Rango1+Rango2+Rango3+Rango4
Dónde RankGlobal = RANKX(currentmonth,'Tabla'[RankTotal por mes],,Desc,Denso)
devolución
RankGlobal

Si esta publicación es útil para ayudarlo a resolver su problema, considere darle a la publicación un pulgar hacia arriba

y aceptarlo como solución!

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

@k_mathana ,

Si necesita una clasificación de grupos, puede consultar la siguiente medida.

measure = rankx(filter(allselected('table'),[Month] = selectedvalue([Month])),[Criteria ],,desc)

En su caso, tiene cuatro Criterios. Deberá establecer la proporción para cada criterio. De lo contrario, podría devolver el mismo rango si solo sumamos los valores de rango.

Saludos

Arrendajo

Syndicate_Admin
Administrator
Administrator

Hola

no me queda claro por qué hay 4 registros para cada opción en el mismo contratista como aparece en sus datos de muestra.

Sin embargo, creo que una columna calculada como esta podría resolver su problema y obtener algo como esto:

serpiva64_0-1644673505496.png

Esta es la columna calculada

RankTotal =

Dónde Rango1 = RANKX('Tabla',«Cuadro»[Criterio 1],,DESC)
Dónde Rango2 = RANKX('Tabla',«Cuadro»[Criterio 2],,Desc)
Dónde Rango3 = RANKX('Tabla',«Cuadro»[Criterio 3],,ASC)
Dónde Rango4 = RANKX('Tabla',«Cuadro»[Criterio 4],,ASC)
Dónde RankTotal = Rango1+Rango2+Rango3+Rango4
devolución
RankTotal
También puede ponderar sus criterios multiplicando por un coeficiente fijo o tal vez por un parámetro si necesita cambiarlo con frecuencia.
Si esta publicación es útil para ayudarlo a resolver su problema, considere darle un pulgar hacia arriba 👍 y aceptarla como una solución.

En ella @serpiva64,

Gracias por la solución dada, pero necesito clasificar dentro de cada mes. por lo que cada mes se elegirá el mejor contractot con la mejor opción!

Arrepentido

en su ejemplo solo hay 1 contratista.

¿Puede especificar los datos de ejemplo?

@serpiva64 lo siento en mi examen había 3 contratistas y cada contratista tiene 4 opciones.

ExampleEjemplo

Hola

esto es lo que obtengo

serpiva64_1-1645197798523.png

usando estas 2 medidas (RankTotal no es necesario pero ayuda a entender)

RankTotal por mes =
Dónde currentmonth = filtro('Tabla',mes(«Tabla»[Fecha]))
Dónde Rango1 = RANKX(currentmonth,«Cuadro»[Criterio 1],,ASC)
Dónde Rango2 = RANKX(currentmonth,«Cuadro»[Criterio 2],,ASC)
Dónde Rango3 = RANKX(currentmonth,«Cuadro»[Criterio 3],,DESC)
Dónde Rango4 = RANKX(currentmonth,«Cuadro»[Criterio 4],,Desc)
Dónde RankTotal = Rango1+Rango2+Rango3+Rango4
devolución
RankTotal
RankGlobal por mes =
Dónde currentmonth = filtro('Tabla',mes(«Tabla»[Fecha]))
Dónde Rango1 = RANKX(currentmonth,«Cuadro»[Criterio 1],,ASC)
Dónde Rango2 = RANKX(currentmonth,«Cuadro»[Criterio 2],,ASC)
Dónde Rango3 = RANKX(currentmonth,«Cuadro»[Criterio 3],,DESC)
Dónde Rango4 = RANKX(currentmonth,«Cuadro»[Criterio 4],,Desc)
Dónde RankTotal = Rango1+Rango2+Rango3+Rango4
Dónde RankGlobal = RANKX(currentmonth,'Tabla'[RankTotal por mes],,Desc,Denso)
devolución
RankGlobal

Si esta publicación es útil para ayudarlo a resolver su problema, considere darle a la publicación un pulgar hacia arriba

y aceptarlo como solución!

Hola @serpiva64 Muchas gracias por tu tiempo, ha funcionado y entiendo el concepto. Una vez más muchas gracias.

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.