iamprajot
Hola
Necesito ayuda con el siguiente problema y quiero el resultado en una columna y no como una medida.
Esta columna calculada hace la clasificación de las cantidades dentro del grupo en orden decreciente
RANGOX(TODO(‘Datos'[Total]),CALCULAR(SUMA(‘Datos'[Total]),ALLEXCEPT(‘Datos’,Datos[Rep],’Datos'[Total])))
Lo que quiero es una clasificación de los Grupos basada en la Suma de sus Montos en Orden Decreciente y en una COLUMNA CALCULADA
He pegado 2 tablas como referencia (la tabla original y la tabla de cálculo para comprender cómo quiero clasificar)
OriginalTable
Fecha de orden | Región | Reps | Articulo | Unidades | Costo unitario | Total |
6/1/16 | este | jones | Lápiz | 95 | 1.99 | 189.05 |
23/01/16 | Central | Kivell | Aglutinante | 50 | 19.99 | 999.5 |
9/2/16 | Central | Jardine | Lápiz | 36 | 4.99 | 179.64 |
26/02/16 | Central | Branquia | Lápiz | 27 | 19.99 | 539.73 |
15/03/16 | oeste | Sorvino | Lápiz | 56 | 2.99 | 167.44 |
4/1/16 | este | jones | Aglutinante | 60 | 4.99 | 299.4 |
18/04/16 | Central | Andrés | Lápiz | 75 | 1.99 | 149.25 |
5/5/16 | Central | Jardine | Lápiz | 90 | 4.99 | 449.1 |
22/05/16 | oeste | thompson | Lápiz | 32 | 1.99 | 63.68 |
8/6/16 | este | jones | Aglutinante | 60 | 8.99 | 539.4 |
25/6/16 | Central | morgan | Lápiz | 90 | 4.99 | 449.1 |
12/7/16 | este | Howard | Aglutinante | 29 | 1.99 | 57.71 |
29/7/16 | este | Padre | Aglutinante | 81 | 19.99 | 1619.19 |
15/08/16 | este | jones | Lápiz | 35 | 4.99 | 174.65 |
9/1/16 | Central | Herrero | Escritorio | 2 | 125 | 250 |
18/09/16 | este | jones | Juego de bolígrafos | dieciséis | 15.99 | 255.84 |
10/5/16 | Central | morgan | Aglutinante | 28 | 8.99 | 251.72 |
22/10/16 | este | jones | Lápiz | 64 | 8.99 | 575.36 |
11/8/16 | este | Padre | Lápiz | 15 | 19.99 | 299.85 |
25/11/16 | Central | Kivell | Juego de bolígrafos | 96 | 4.99 | 479.04 |
12/12/16 | Central | Herrero | Lápiz | 67 | 1.29 | 86.43 |
29/12/16 | este | Padre | Juego de bolígrafos | 74 | 15.99 | 1183.26 |
15/01/17 | Central | Branquia | Aglutinante | 46 | 8.99 | 413.54 |
1/2/17 | Central | Herrero | Aglutinante | 87 | 15 | 1305 |
18/02/17 | este | jones | Aglutinante | 4 | 4.99 | 19.96 |
3/7/17 | oeste | Sorvino | Aglutinante | 7 | 19.99 | 139.93 |
24/03/17 | Central | Jardine | Juego de bolígrafos | 50 | 4.99 | 249.5 |
10/04/17 | Central | Andrés | Lápiz | 66 | 1.99 | 131.34 |
27/04/17 | este | Howard | Lápiz | 96 | 4.99 | 479.04 |
14/05/17 | Central | Branquia | Lápiz | 53 | 1.29 | 68.37 |
31/05/17 | Central | Branquia | Aglutinante | 80 | 8.99 | 719.2 |
17/06/17 | Central | Kivell | Escritorio | 5 | 125 | 625 |
7/4/17 | este | jones | Juego de bolígrafos | 62 | 4.99 | 309.38 |
21/07/17 | Central | morgan | Juego de bolígrafos | 55 | 12.49 | 686.95 |
8/7/17 | Central | Kivell | Juego de bolígrafos | 42 | 23.95 | 1005.9 |
24/08/17 | oeste | Sorvino | Escritorio | 3 | 275 | 825 |
9/10/17 | Central | Branquia | Lápiz | 7 | 1.29 | 9.03 |
27/09/17 | oeste | Sorvino | Lápiz | 76 | 1.99 | 151.24 |
14/10/17 | oeste | thompson | Aglutinante | 57 | 19.99 | 1139.43 |
31/10/17 | Central | Andrés | Lápiz | 14 | 1.29 | 18.06 |
17/11/17 | Central | Jardine | Aglutinante | 11 | 4.99 | 54.89 |
4/12/17 | Central | Jardine | Aglutinante | 94 | 19.99 | 1879.06 |
21/12/17 | Central | Andrés | Aglutinante | 28 | 4.99 | 139.72 |
Tabla de Cálculo
Reps | Suma del total (DESC) | Clasificación basada en la suma del total |
Kivell | 3109.44 | 1 |
Padre | 3102.3 | 2 |
Jardine | 2812.19 | 3 |
jones | 2363.04 | 4 |
Branquia | 1749.87 | 5 |
Herrero | 1641.43 | 6 |
morgan | 1387.77 | 7 |
Sorvino | 1283.61 | 8 |
thompson | 1203.11 | 9 |
Howard | 536.75 | 10 |
Andrés | 438.37 | 11 |
Zubair_Muhammad
En respuesta a Zubair_Muhammad
@iamprajot
Luego, en una tabla visual, coloque el promedio de este RANGO
es decir
Zubair_Muhammad
En respuesta a iamprajot
Hola @iamprajot
Mi mal… Lo siento, quise decir… agregar un punto decimal aleatorio a la columna Total existente
New Total="Data"[Total] + RANDBETWEEN ( 1, 100 ) / 10000000
Ahora use esta nueva columna total para CLASIFICACIÓN
Zubair_Muhammad
@iamprajot
Pruebe esta columna calculada
RANK = RANKX ( ALL ( 'Data'[Rep] ), CALCULATE ( SUM ( 'Data'[Total] ), ALLEXCEPT ( 'Data', Data[Rep] ) ), , DESC, DENSE )
Zubair_Muhammad
En respuesta a Zubair_Muhammad
@iamprajot
Luego, en una tabla visual, coloque el promedio de este RANGO
es decir
iamprajot
En respuesta a Zubair_Muhammad
Solo agregar DENSE hizo el truco, correcto.
Zubair_Muhammad
En respuesta a iamprajot
@iamprajot
No….Hubo otras 2 diferencias
1) el argumento de la tabla de RANKX….
2) los argumentos dentro de ALLEXCEPT deben excluir la columna Total
iamprajot
En respuesta a Zubair_Muhammad
Correcto, gracias de nuevo.
Además, ¿sabe cómo clasificar las cantidades sin obtener las mismas clasificaciones para valores similares?
Zubair_Muhammad
En respuesta a iamprajot
Hola @iamprajot
¿Quiere decir RANGO si el SUMA (‘Datos'[Total] ) es igual para 2 o más REPs???
iamprajot
En respuesta a Zubair_Muhammad
No, no según la suma de su monto total, pero normalmente toda la tabla debe clasificarse en función de sus montos.
Estoy obteniendo rangos repetidos para 1 o 2.
Fecha de orden | Región | Reps | Articulo | Unidades | Costo unitario | Total | Clasificación |
######## | Central | Jardine | Aglutinante | 94 | 19.99 | 1879 | 1 |
######## | este | Padre | Aglutinante | 81 | 19.99 | 1619 | 2 |
######## | Central | Herrero | Aglutinante | 87 | 15 | 1305 | 3 |
######## | este | Padre | Juego de bolígrafos | 74 | 15.99 | 1183 | 4 |
######## | oeste | thompson | Aglutinante | 57 | 19.99 | 1139 | 5 |
######## | Central | Kivell | Juego de bolígrafos | 42 | 23.95 | 1006 | 6 |
######## | Central | Kivell | Aglutinante | 50 | 19.99 | 1000 | 7 |
######## | oeste | Sorvino | Escritorio | 3 | 275 | 825 | 8 |
######## | Central | Branquia | Aglutinante | 80 | 8.99 | 719 | 9 |
######## | Central | morgan | Juego de bolígrafos | 55 | 12.49 | 687 | 10 |
######## | Central | Kivell | Escritorio | 5 | 125 | 625 | 11 |
######## | este | jones | Lápiz | 64 | 8.99 | 575 | 12 |
######## | Central | Branquia | Lápiz | 27 | 19.99 | 540 | 13 |
######## | este | jones | Aglutinante | 60 | 8.99 | 539 | 14 |
######## | Central | Kivell | Juego de bolígrafos | 96 | 4.99 | 479 | 15 |
######## | este | Howard | Lápiz | 96 | 4.99 | 479 | 15 |
######## | Central | Jardine | Lápiz | 90 | 4.99 | 449 | 17 |
######## | Central | morgan | Lápiz | 90 | 4.99 | 449 | 17 |
######## | Central | Branquia | Aglutinante | 46 | 8.99 | 414 | 19 |
######## | este | jones | Juego de bolígrafos | 62 | 4.99 | 309 | 20 |
######## | este | Padre | Lápiz | 15 | 19.99 | 300 | 21 |
######## | este | jones | Aglutinante | 60 | 4.99 | 299 | 22 |
######## | este | jones | Juego de bolígrafos | dieciséis | 15.99 | 256 | 23 |
######## | Central | morgan | Aglutinante | 28 | 8.99 | 252 | 24 |
######## | Central | Herrero | Escritorio | 2 | 125 | 250 | 25 |
######## | Central | Jardine | Juego de bolígrafos | 50 | 4.99 | 250 | 26 |
######## | este | jones | Lápiz | 95 | 1.99 | 189 | 27 |
######## | Central | Jardine | Lápiz | 36 | 4.99 | 180 | 28 |
######## | este | jones | Lápiz | 35 | 4.99 | 175 | 29 |
######## | oeste | Sorvino | Lápiz | 56 | 2.99 | 167 | 30 |
######## | oeste | Sorvino | Lápiz | 76 | 1.99 | 151 | 31 |
######## | Central | Andrés | Lápiz | 75 | 1.99 | 149 | 32 |
######## | oeste | Sorvino | Aglutinante | 7 | 19.99 | 140 | 33 |
######## | Central | Andrés | Aglutinante | 28 | 4.99 | 140 | 34 |
######## | Central | Andrés | Lápiz | 66 | 1.99 | 131 | 35 |
######## | Central | Herrero | Lápiz | 67 | 1.29 | 86 | 36 |
######## | Central | Branquia | Lápiz | 53 | 1.29 | 68 | 37 |
######## | oeste | thompson | Lápiz | 32 | 1.99 | 64 | 38 |
######## | este | Howard | Aglutinante | 29 | 1.99 | 58 | 39 |
######## | Central | Jardine | Aglutinante | 11 | 4.99 | 55 | 40 |
######## | este | jones | Aglutinante | 4 | 4.99 | 20 | 41 |
######## | Central | Andrés | Lápiz | 14 | 1.29 | 18 | 42 |
######## | Central | Branquia | Lápiz | 7 | 1.29 | 9 | 43 |
Zubair_Muhammad
En respuesta a iamprajot
Hola @iamprajot
Una forma podría ser agregar una nueva columna Total que afecte la cantidad en cantidades decimales insignificantes
Y luego usa esa nueva columna para RANKING
New Total = RANDBETWEEN ( 1, 100 ) / 10000000
iamprajot
En respuesta a Zubair_Muhammad
Rand da números aleatorios, por lo que la clasificación no se basa en la cantidad total sino en los números Rand, por lo que no es una solución permanente.
He buscado en casi todas partes y no pude encontrar nada bueno sobre esto.
De todos modos, gracias por toda su ayuda.
En caso de que encuentre alguna alternativa a este ranking de números duplicados, responda sobre esto.
Gracias de nuevo, que tengas un gran día.
Zubair_Muhammad
En respuesta a iamprajot
Hola @iamprajot
Mi mal… Lo siento, quise decir… agregar un punto decimal aleatorio a la columna Total existente
New Total="Data"[Total] + RANDBETWEEN ( 1, 100 ) / 10000000
Ahora use esta nueva columna total para CLASIFICACIÓN
iamprajot
En respuesta a Zubair_Muhammad
Así es como a los programadores se les ocurre algo.
Muchas gracias.