Función RANKX DAX en LuckyTemplates: una descripción general completa

Función RANKX DAX en LuckyTemplates: una descripción general completa

es la función DAX más utilizada para clasificar información en LuckyTemplates. Es una función simple, pero puede ser frustrantemente confusa para los novatos. Sin embargo, es una función muy poderosa que podría generar información valiosa para sus informes.

En este artículo, conocerá los entresijos de la función RANKX DAX. Aprenderá cuándo y cómo usarla y verá cuán útil es esta función a medida que exploramos algunos escenarios y ejemplos.

Tabla de contenido

Definición y sintaxis de la función DAX RANKX

La función RANKX LuckyTemplates DAX devuelve la clasificación de un determinado número en una lista de números para cada fila en el argumento de la tabla. Se puede utilizar en cálculos tanto para columnas calculadas como para medidas calculadas. A continuación se muestra la sintaxis de la fórmula RANKX.

CLASIFICACIÓNX(
     , , , ,
)

Para el parámetro de tabla, puede ingresar una tabla estándar importada en LuckyTemplates o una tabla calculada a través de DAX. RANKX, como una función de iteración , itera a través de esa tabla y clasifica un número específico. Esto depende del número de valores dentro de la tabla. Por ejemplo, si la tabla tiene 20 valores, RANKX tendrá un resultado de clasificación del 1 al 20.

Una clave para comprender la función RANKX es que devuelve un valor escalar . Dentro del parámetro de expresión, necesitamos una expresión DAX que devuelva un valor escalar. Esta expresión recorre e itera cada fila dentro de la tabla, brindándole los valores de clasificación correspondientes.

Los parámetros de valor y orden son opcionales, mientras que el parámetro de empate lo ayuda a determinar la clasificación cuando hay empates en sus valores.

Conceptos de fórmula RANKX y LuckyTemplates DAX

Hay una serie de conceptos que debe comprender bien para asegurarse de que se creen los resultados de clasificación que espera. Discutiré el concepto más importante al ejecutar un cálculo DAX, que es ' contexto '. Una vez que logre esto, entonces realmente podrá entender cómo usar la función RANKX de manera efectiva.

RANKX es una función DAX muy singular que requiere un nivel más profundo de reflexión sobre su lógica y cómo funciona realmente cuando se ejecuta un cálculo en un contexto particular (por ejemplo, una tabla o gráfico dentro de LuckyTemplates).

Cada parámetro diferente dentro de la función DAX RANKX puede cambiar la forma en que calcula un resultado. Hay varios parámetros que puede ingresar en esta función DAX para comprender cómo cada uno puede determinar el resultado subyacente, que se considera importante.

Es por eso que es esencial comprender los elementos y conceptos clave de cómo funciona RANKX en una variedad de contextos. Esto le permitirá estar seguro de que sus cálculos son correctos y de que sus consumidores están viendo información que realmente tiene sentido.

Escenario básico de RANKX DAX

Primero, echemos un vistazo a un cálculo RANKX simple. En este ejemplo, estamos tratando de  identificar la clasificación de estos productos según las ventas  (esto también podría basarse en cualquier medida) en todos los diferentes productos que vendemos.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Principalmente, necesitamos crear una tabla dentro de RANKX para evaluar cada producto en función de la medida que especificamos. La  función  se puede utilizar para eliminar cualquier filtro de la  tabla Productos  y evaluar cada producto. 

Función RANKX DAX en LuckyTemplates: una descripción general completa

Pero, si eliminamos el filtro (en este caso, la  función TODOS  ), y solo usamos "Productos", mostrará un resultado diferente. Es por eso que necesitamos usar la función ALL para obtener el resultado correcto. Así es como puede resolver   cálculos  simples de RANKX .

Pero, ¿y si se vuelve más complejo? ¿Qué sucede si necesita resultados de clasificación que no se basen solo en las ventas totales? Bueno, ahí es donde necesitamos entender el contexto actual de este cálculo. Necesitamos saber cómo podemos manipular el contexto para obtener el resultado que queremos.

Escenario RANKX DAX complejo

Tratemos de incorporar la fórmula exactamente similar (medida de clasificación de productos) en la tabla del lado derecho.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Como podéis ver, nos ha dado otro resultado erróneo. La razón detrás de esto es que también tenemos una columna Nombre del cliente aquí. Si observamos la fórmula nuevamente, verá que  no se desglosa por cliente individual . Solo estamos evaluando los productos para cada cliente específico.

Intentemos ordenar la  columna Nombre del cliente  .

Función RANKX DAX en LuckyTemplates: una descripción general completa

Incluso si clasificamos la columna Nombre del cliente, la clasificación del producto seguirá cambiando según la clasificación del producto que compraron. Hay muchos números que son iguales. Un ejemplo es el rango 17. En este caso, puede deberse a que  este cliente en particular solo compró 17 productos .

Función RANKX DAX en LuckyTemplates: una descripción general completa

Eso es quizás lo que necesita en este escenario. Pero, ¿y si necesita algo un poco más complejo que eso? ¿Qué sucede si necesita la clasificación de 1 a un valor indefinido de los contextos Nombre del cliente y Producto?

Como he enfatizado, es importante  comprender el contexto y cómo manipulamos el contexto  para obtener el resultado que queremos.

En nuestro ejemplo, tenemos dos dimensiones que son de dos tablas totalmente diferentes. Tenemos la  columna Nombre del cliente de la  tabla Clientes y la columna Nombre del producto de la tabla Productos.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Necesitamos eliminar de alguna manera los filtros en esta tabla virtual dentro de la lógica RANKX de ambas tablas. Necesitamos hacer lo que hicimos en la primera tabla (lado izquierdo), pero debemos hacerlo en las columnas Nombre del cliente y Nombre del producto en ambas tablas en particular.

Luego, eventualmente, obtendremos la clasificación correcta a través de Ventas totales de Nombre del cliente y Nombre del producto. Aquí está la fórmula que podemos usar para este escenario distinto.

Función RANKX DAX en LuckyTemplates: una descripción general completa

La función nos permite unir dos columnas, o también pueden ser dos tablas. Sin embargo, en este caso, solo uniremos columnas.

Estamos  eliminando todos los filtros  de las tablas Clientes y Productos. Luego, iteraremos a través de cada fila en esta tabla virtual y evaluaremos o identificaremos dónde se encuentra el rango particular para este subconjunto de nombre de cliente y nombre de producto en particular.

Ejemplo avanzado de RANKX DAX

Como puede ver en los ejemplos anteriores, la función RANKX le brinda información valiosa cuando la usa para una variedad de contextos diferentes en su página de informe. Sin embargo, también puede ser una de las funciones más confusas para usar en LuckyTemplates. Puede darte diferentes resultados que parecen ser correctos, cuando en realidad son incorrectos. Si no tiene cuidado, terminará teniendo que volver a trabajar en todo el informe.

Necesita una comprensión sólida del contexto y luego aprender a usar RANKX dentro de ese contexto.

Me sumergiré en lo complejo que puede ser RANKX a veces. Trabajaré con un ejemplo para que pueda comprender los muchos matices de trabajar con esta función.

En la visualización a continuación, tenemos el Ranking de condados, el Ranking de estados y el Ranking de regiones estatales.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Administrar el contexto del cálculo puede ser difícil si desea verlos todos en una matriz. Miremos la tabla. Puede ver que tiene información sobre las regiones estatales, el estado y el condado.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Para este ejemplo, debe calcular la clasificación de los condados. Si solo tiene el condado, la clasificación del condado y las ventas totales en la tabla, obtendrá los resultados de clasificación correctos:

Función RANKX DAX en LuckyTemplates: una descripción general completa

Pero una vez que comienza a superponer los otros contextos en la tabla, el resultado de la clasificación comienza a acumularse para cada condado que se encuentra en diferentes estados y regiones estatales.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Por lo tanto, debe identificar y cambiar el contexto del cálculo para asegurarse de obtener la clasificación general correcta para cada condado, independientemente de lo que esté seleccionado en la página del informe. Cada vez que selecciona un estado como Colorado, la fórmula también se actualiza.

Función RANKX DAX en LuckyTemplates: una descripción general completa

También puede hacer una selección usando Regiones estatales. Si selecciona Noreste, muestra la clasificación adecuada.

Función RANKX DAX en LuckyTemplates: una descripción general completa

En este ejemplo, se utilizan dos fórmulas para obtener la clasificación del condado. Esto lo ayudará a comprender la diferencia en los resultados generados al usar diferentes funciones DAX junto con RANKX:

Fórmula #1: RANKX con TODOS y TODOS SELECCIONADOS

La función ALL es la parte clave de esta fórmula para County Rank:

Función RANKX DAX en LuckyTemplates: una descripción general completa

Manipula el contexto dentro de la fórmula RANKX. Luego itera a través de la tabla Regiones y crea el resultado de la clasificación. En este caso, la función TODOS funciona virtualmente en todos los condados, independientemente del contexto inicial.

Este problema se complica cuando comienza a aplicar capas en contextos de segmentación. Al usar , la clasificación se actualizará automáticamente según la selección en la segmentación. También necesita utilizar para colocar contexto adicional en un resultado o para cambiar el contexto del cálculo.

Función RANKX DAX en LuckyTemplates: una descripción general completa

El contexto se ajusta en función de los filtros dentro de la función CALCULAR. Con esto, la clasificación se ajustará en función del contexto proveniente de las segmentaciones de estado y región estatal.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Fórmula #2: RANKX con TODOS y VALORES

Veamos ahora la columna Condado (actualizado).

Función RANKX DAX en LuckyTemplates: una descripción general completa

Quiere asegurarse de que esta columna seguirá mostrando la clasificación general, independientemente de lo que esté seleccionado en las segmentaciones. Cada condado debe tener un número único.

Esta es la fórmula utilizada:

Función RANKX DAX en LuckyTemplates: una descripción general completa

Para este ejemplo, no había forma de descifrar un condado único, por lo que se creó otra columna. La columna del condado completo incluye el condado, el estado y la región.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Esto le da una buena distinción entre condados. De esta manera, ahora puede trabajar una tabla virtual de los condados que están en los datos. Antes de hacer esto, debe eliminar TODO el contexto de la tabla Regiones.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Entonces, cualquier contexto que provenga de la tabla de la Región no existe en este momento. Con la función , puede volver a agregar el contexto de la columna Condado completo.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Una opción es hacer referencia a cada columna usando la función TODO, pero la mejor alternativa es deshacerse de todo el contexto de Regiones y solo recuperar el Condado completo. Una vez que el contexto ha sido manipulado dentro de CALCULATE, la función RANKX comienza su trabajo desde allí.

Función RANKX DAX en LuckyTemplates: una descripción general completa

RANKX trabaja en cada condado en cada fila junto con sus ventas totales y luego los clasifica. Así es como obtiene los valores de 1 a X en la fila Condado (actualizado). Como resultado, los filtros y las segmentaciones no importarán y no afectarán la clasificación porque la fórmula se ha configurado para ignorarlos.

Otros ejemplos prácticos de RANKX Measure LuckyTemplates

Ahora que ha aprendido los conceptos básicos de RANKX y LuckyTemplates DAX, exploremos más ejemplos de cómo se usa RANKX. Primero, analice un ejemplo en el que se usa RANKX para encontrar los valores superior e inferior. El siguiente ejemplo muestra RANKX como una forma de segmentar o agrupar resultados.

Encontrar valores superiores e inferiores usando RANKX

Un uso común de RANKX es cuando desea averiguar sus valores máximos o mínimos . Por ejemplo, si desea encontrar sus mejores clientes o sus productos más bajos, puede usar RANKX junto con otras funciones DAX.

En este primer ejemplo, le mostraré cómo combinar RANKX con las funciones CALCULATE y para ver quiénes son nuestros principales clientes, no solo durante un período de tiempo estático sino también a lo largo del tiempo. Luego, lo mostraremos en una matriz de ventas de nuestros 10 principales clientes.

Cuando colocamos las medidas Trimestre y año  y  Ventas totales  en una matriz, obtenemos todos los resultados. Esto es genial, pero puede ser muy difícil obtener información y detectar tendencias.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Queremos ver tendencias y determinar quiénes son nuestros 10 principales clientes para este período. Por ejemplo, ¿tuvimos un cliente que durante un período de tiempo fue uno de nuestros principales clientes pero que se ha apartado por completo? Este es el tipo de información que estamos buscando.

Podemos hacer esto usando una fórmula. Aquí está la medida que creé usando la función CALCULAR para calcular nuestras Ventas totales para los clientes que se encuentran dentro del Top 10.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Tenemos que usar la lógica de clasificación  para crear un indicador de lógica de clasificación que diga que si este cliente está en el Top 10, devolverá este valor de Ventas totales. Además de usar RANKX en LuckyTemplates, también usaremos la función FILTRO y luego usaremos VALORES, que creará una tabla interna para cada cliente.

Entonces necesitamos pensar en qué lógica escribir aquí, algo que diga “si el rango actual es menor o igual a 10 igual a las ventas totales, si no, igual en blanco”. Lo que es realmente genial acerca de declaraciones de filtro como esta es que puede escribir este tipo de lógica en su interior.

Entonces, vamos a usar la función RANKX y TODOS los nombres de clientes porque vamos a clasificar a cada cliente en un contexto particular. El TODO elimina cualquier filtro sobre Nombres de clientes para que podamos completar este ranking.

Luego clasificaremos por Ventas totales y clasificaremos en orden descendente, y luego iremos a menos o igual a 10. lo hace, queremos que sea igual a Ventas totales, y si no, quede en blanco.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Por último, sustituiremos nuestras Ventas totales por nuestros 10 principales clientes. Podemos ver los 10 principales clientes para cada período de tiempo e implementar un formato condicional para hacerlo visualmente mejor. También podemos usar el formato condicional para obtener información más convincente.

Función RANKX DAX en LuckyTemplates: una descripción general completa

Si está vendiendo a clientes muchas veces, querrá acortar el período de tiempo; pero si solo le vende a los clientes 2 o 3 veces al año, entonces querrá analizar las cosas desde un marco de tiempo a más largo plazo.

Hay otra función DAX, llamada TOPN, que también se usa para clasificar las perspectivas. Sin embargo, todavía hay una gran . Tenga en cuenta que TOPN es una función de tabla mientras que RANKX devuelve un valor escalar . La clave es entender el contexto en el que pones estas funciones.

Combinación de agrupaciones dinámicas con LuckyTemplates RANKX

Otra excelente manera de usar RANKX es para segmentar o agrupar resultados en lugar de simplemente mostrar los resultados por sí mismos sin ningún contexto.

En este ejemplo, en lugar de solo mostrar un resultado de ventas genérico, quiero ver si un cliente estaba entre los mejores resultados y luego ver si cambia con el tiempo. Quiero entender cuánto de nuestras ventas provienen de nuestros 5 clientes principales, de los 5 principales a los 20, y luego del resto de nuestros clientes.

Para ver si hay una tendencia, necesitamos crear grupos dinámicos y evaluarlos a lo largo del tiempo. Esto es muy difícil de hacer, especialmente si está trabajando desde Excel. Pero si entiende DAX muy bien, puede escribir una fórmula que no le llevará mucho tiempo escribir y luego se convierte en un patrón que puede usar una y otra vez.

Aquí está la medida que creé para este escenario:

Función RANKX DAX en LuckyTemplates: una descripción general completa

Empezamos con la función CALCULAR porque no pasa nada sin CALCULAR. Luego, sumamos Ventas totales porque eso es lo que estamos sumando.

A continuación, debemos filtrar una tabla de Nombres de clientes que iterará a través de cada cliente, evaluará cuál es su clasificación y luego verá si su clasificación está por encima o por debajo del MIN y MAX que acabamos de crear.

El siguiente paso es usar la función y la función FILTRO nuevamente. Luego elija Grupos de clientes, que es la tabla que creé.

Luego, vamos a iterar a través de esta tabla usando RANKX. Estamos calculando las ventas totales en la parte superior, pero la tabla de grupos de clientes es en realidad la clasificación. Necesitamos obtener la clasificación de cada uno de estos clientes individuales y luego ver si están dentro de alguno de los grupos que se encuentran en la tabla Grupos de clientes.

Luego los clasificaremos por Ventas totales y luego elegiremos DESC para clasificarlos como 1 para el más alto y 200 para el más bajo. Luego lo cerraremos con un valor mayor que el para los clientes mejor calificados. Por último, usaremos RANKX con la lógica similar que usamos anteriormente, pero luego con menos o igual que .

Puede usar este una y otra vez en tantos escenarios aplicables. RANKX le permite crear tablas de clasificación dinámicas , brindándole información de clasificación increíble.

Conclusión

RANKX es una función simple, pero no fácil de usar. La clave está en centrarse en sus matices para poder entender mejor la función. Hay tantas formas de la función RANKX en los cálculos DAX, especialmente cuando se combina con diferentes funciones. Se sorprenderá de lo flexible que puede ser esta función dentro de LuckyTemplates.

Los ejemplos que le he mostrado en este blog son definitivamente las mejores formas de demostrar RANKX, especialmente cuando se trata de su versatilidad para calcular cualquier tipo de análisis de clasificación. Se puede utilizar en varios escenarios diferentes.

La conclusión clave aquí es que realmente necesita comprender el contexto en el que se coloca su función RANKX.

Espero que este contenido le resulte útil y lo utilice en su propio entorno de trabajo.

¡Salud!


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