RANKX en LuckyTemplates: desarrollo de desempates personalizados

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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.

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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.

RANKX en LuckyTemplates: desarrollo de desempates personalizados

Agregaré los datos para las Ventas totales de cada persona .

RANKX en LuckyTemplates: desarrollo de desempates personalizados

Esta es la medida RANKX que estoy aplicando a esta tabla.

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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.

RANKX en LuckyTemplates: desarrollo de desempates personalizados

Luego, ordenaré los datos de acuerdo con Rank .

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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.

RANKX en LuckyTemplates: desarrollo de desempates personalizados

¿Qué sucede si uso Dense en lugar de Skip ?

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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 .

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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.

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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.

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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.

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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 .

RANKX en LuckyTemplates: desarrollo de desempates personalizados

Cuando aplique eso a la tabla, verá que ahora tengo dos puntos decimales debajo de mi RANKX Tiebreaker .

RANKX en LuckyTemplates: desarrollo de desempates personalizados

También voy a arrastrar mis Ventas medianas a la tabla para mostrarles el impacto de nuestro desempate más claramente.

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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 .

RANKX en LuckyTemplates: desarrollo de desempates personalizados

Así que agregaré mis ventas totales y el desempate de RANKX para obtener las cifras de la columna de desempate de ventas totales .

RANKX en LuckyTemplates: desarrollo de desempates personalizados

Ejecutaré RANKX en las nuevas Ventas totales con el desempate aplicado y clasificaré los datos.

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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.

RANKX en LuckyTemplates: desarrollo de desempates personalizados

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

Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Cómo guardar y cargar un archivo RDS en R

Cómo guardar y cargar un archivo RDS en R

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.

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

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.

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

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.

Introducción al contexto de filtro en LuckyTemplates

Introducción al contexto de filtro en LuckyTemplates

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.

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

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.

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

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.

Ideas de materialización para cachés de datos en DAX Studio

Ideas de materialización para cachés de datos en DAX Studio

Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.

Informes comerciales con LuckyTemplates

Informes comerciales con LuckyTemplates

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

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber