Qué es uno mismo en Python: ejemplos del mundo real
Qué es uno mismo en Python: ejemplos del mundo real
Le mostraré cómo crear desempates personalizados al usar RANKX en LuckyTemplates .
Obtener un empate en una parte crítica de los resultados es un escenario común. Hay varios desempates que puede usar, pero es importante elegir el que tenga más sentido para cada situación. Puede ver el video completo de este tutorial en la parte inferior de este blog.
Tabla de contenido
El papel de RANKX en LuckyTemplates
Tengo la costumbre de comparar funciones DAX con trabajos en la vida real. Esto me ayuda a asociar cada función con lo que hace dentro de LuckyTemplates.
RANKX evalúa y ordena los elementos de acuerdo con un conjunto específico de criterios. En el mundo real, se puede comparar con un juez en una exposición canina que pide a los participantes que se alineen en consecuencia.
En el escenario que usaré hoy, usaré RANKX como juez para un concurso de ventas hipotético. Los datos involucran números de un equipo de ventas y el premio va a la persona con las Ventas Totales más altas del mes .
Para mantener las cosas interesantes, supongamos que el primer premio es un Cadillac El Dorado mientras que el segundo premio es un juego de cuchillos para carne. Esa es una gran brecha en valor, lo que significa que solo podría haber un ganador.
Al mirar mi tabla, tengo una lista de todos los vendedores del equipo de ventas.
Agregaré los datos para las Ventas totales de cada persona .
Esta es la medida RANKX que estoy aplicando a esta tabla.
Es solo una configuración básica de RANKX que usa para que no termine incluyendo el Total cuando ordeno los rangos.
vendedores se clasifican en función de las ventas totales . Estos están ordenados en orden DESC . Toma, estoy usando Skip en caso de que haya un empate.
Algunos pueden usar Dense en lugar de Skip , pero en este caso, ninguno de los dos ayuda.
Omitir contra denso
Para demostrar cómo Skip afecta la medida, arrastraré y soltaré los rangos en la tabla.
Luego, ordenaré los datos de acuerdo con Rank .
La tabla muestra un empate en el puesto número 1. Pero no ha sido un gran mes para el equipo de Ventas, por lo que el gerente no puede darse el lujo de regalar 2 Cadillac El Dorado. Esto significa que tengo que pensar en un desempate para decidir quién se queda con el coche y quién se queda con los cuchillos para bistec.
Jasper y Max están arriba, empatados en el número 1. Debido a que usé Skip, verás que el rango salta a 3 después de los dos 1 en la parte superior . Esto no me funciona porque todavía me deja con 2 ganadores.
¿Qué sucede si uso Dense en lugar de Skip ?
Si uso Dense , la corbata en sí no se ve afectada. Pero en lugar del número 3 después del empate, muestra el número 2 .
Evidentemente, Dense tampoco funciona en este caso. Esto significa que tendría que aplicar un desempate personalizado.
Elegir un desempate personalizado
Un buen desempate personalizado se define por dos características principales.
En primer lugar, necesita diferenciar significativamente los elementos vinculados. Tiene que ser un factor que separe los dos o más elementos que están atados.
En segundo lugar, no debe alterarse el rango ni el orden de los elementos que no están empatados.
Pensando en estos dos aspectos, es fácil pensar en una serie de desempates.
Las ventas totales son nuestro principal factor de clasificación.
Así que tengo que pensar en otros factores que podrían usarse para romper el empate causado por los datos similares en las 2 filas superiores.
El número de ventas podría ser uno. ¿Quién está más apurado? ¿Quién ha estado recibiendo la mayor cantidad de clientes?
También es posible ver la venta máxima comprobando quién consiguió las cuentas más grandes.
También podría mirar las ventas promedio.
En este caso, decidí ir con las Ventas medianas . No está tan influenciado por los valores atípicos que provienen del extremo superior o inferior. Esto significa que puede dar una mejor medida de la tendencia central.
Crear un desempate personalizado
Hay una buena cantidad de DAX en la elaboración del desempate, pero el concepto es simple.
Tengo Ranking2 como variable. También usé HASONEVALUE por la misma razón que lo usé anteriormente en el patrón RANKX principal. La única diferencia aquí es que esta vez estoy usando Median Sales en lugar de Total Sales .
A continuación, estoy tomando el resultado de esa variable y dividiéndolo por 100.
Debido a que tengo números enteros en mis Ventas totales, puedo jugar con el primer y segundo decimal para desempatar. Dividir eso por cien lleva los números más allá del punto decimal para diferenciar los números empatados en la parte superior sin afectar el resto de los resultados.
Esto nos deja con los rangos superiores mostrando 0.01, 0.02 y así sucesivamente. Así que voy a darle la vuelta para que la clasificación más alta obtenga la puntuación más alta en el desempate.
Así que dentro de HASONEVALUE , restaré RankScale de 1 .
Cuando aplique eso a la tabla, verá que ahora tengo dos puntos decimales debajo de mi RANKX Tiebreaker .
También voy a arrastrar mis Ventas medianas a la tabla para mostrarles el impacto de nuestro desempate más claramente.
Mirando estos números, en realidad muestra que ni Max ni Jasper obtuvieron las puntuaciones más altas. En realidad fue Martin Perry.
Pero recuerde que esto es sólo un desempate , y las Ventas Totales siguen siendo el principal factor de clasificación . Esto significa que solo debería comparar los números de las filas empatadas .
Así que agregaré mis ventas totales y el desempate de RANKX para obtener las cifras de la columna de desempate de ventas totales .
Ejecutaré RANKX en las nuevas Ventas totales con el desempate aplicado y clasificaré los datos.
Ahora, muestra una ejecución completa de 1 a n sin elementos vinculados.
Uso de la función RAND para desempatar
Puede haber casos en los que un número generado aleatoriamente pueda servir como desempate.
Un ejemplo sería si desea un grupo de enfoque que incluya una selección aleatoria de los 20 mejores vendedores. Si hay empates dentro del grupo, es razonable usar un número aleatorio como criterio de desempate.
Pero el problema con Power Query y DAX en general es que las funciones aleatorias se comportan de manera diferente . No obtendrá los resultados que espera, especialmente si usa dentro de una función de iteración.
ALEATORIO devuelve un número aleatorio entre 0 y 1 . Entonces, si decide que el escenario en el que está trabajando necesita un número generado aleatoriamente para romper el empate, lo ideal sería hacerlo en esta parte de la medida.
En lugar de solo Ventas totales , debería mostrar Ventas totales más RAND . Pero nuevamente, en este escenario en particular, no me dará el resultado de clasificación final que necesito.
Consideraciones sobre RANKX : conceptos de fórmula de LuckyTemplates y DAX
Una comprensión más profunda de RANKX avanzado
Creación de tablas de clasificación dinámicas mediante RANKX en LuckyTemplates
Conclusión
Como ha visto en este ejemplo, romper un empate cuando usa RANKX en LuckyTemplates es bastante fácil. El truco es averiguar qué desempate personalizado da los resultados más lógicos.
Voy a hacer más tutoriales sobre otros desempates en el futuro, especialmente sobre el uso de RAND en un escenario de muestreo. Creo que vale la pena una mirada más profunda.
Mientras tanto, espero que el uso de este enfoque funcione para usted si está trabajando en un escenario similar en este momento o si encuentra algo como esto en el futuro.
Mis mejores deseos
***** ¿Aprender LuckyTemplates? *****
Qué es uno mismo en Python: ejemplos del mundo real
Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.
En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.
Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.
En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.
Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.
Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.
Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.
Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.
¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber