Análisis profundo de RANKX: una función LuckyTemplates DAX

Análisis profundo de RANKX: una función LuckyTemplates DAX

Hoy profundizaremos en RANKX, una función DAX escalar en LuckyTemplates que le permite devolver la clasificación de un número específico en cada fila de la tabla que forma parte de una lista de números. Puedes ver el video completo de este tutorial en la parte inferior de este blog.

Tabla de contenido

Ejemplos de escenarios

Analizaremos algunos de los escenarios más importantes, incluido cuándo hacer referencia a una tabla completa y un nombre de campo dentro de la .

También examinaremos qué sucede cuando el nivel de granularidad disminuye y cuando se aplica un orden de clasificación sobre un campo. Por último, veremos más de cerca las mejores prácticas para hacer referencia a un nombre de tabla o un nombre de campo a lo largo de la tabla y cómo se evalúa la clasificación en el back-end.

Escenario RANKX 1: Clasificación de clientes

En nuestro primer escenario, queremos calcular la clasificación de nuestros clientes y hacer referencia a toda la tabla de clientes dentro de la función RANKX. En última instancia, descubriremos cómo se evalúan los resultados.

Entonces, comencemos abriendo LuckyTemplates y haciendo clic en el botón de opciones Ventas totales en la pestaña Medidas clave y luego vaya a Nueva medida . Escriba una medida para la clasificación del cliente (p. ej., "Clasificación del cliente =").

Puede ver los resultados arrastrando la medida de clasificación del cliente dentro de la tabla.

Análisis profundo de RANKX: una función LuckyTemplates DAX

Pero, ¿es este el mejor enfoque para cada escenario? ¿Qué pasa si hay dos personas con el mismo nombre pero en diferentes ciudades? ¿O qué pasa si tenemos dos lugares con el mismo nombre pero diferentes territorios?

Escenario RANKX 2: Clasificación de ciudades V1

Ahora, apliquemos el mismo enfoque en el primer escenario. Esta vez, sin embargo, lo aplicaremos sobre la tabla de regiones donde tenemos dos ciudades con el mismo nombre pero en dos ubicaciones diferentes.

Análisis profundo de RANKX: una función LuckyTemplates DAX

Como puede ver en la imagen de arriba, dentro de la tabla de regiones, tenemos dos ciudades con el mismo nombre, pero están disponibles en dos territorios diferentes. Entonces, ¿qué sucede cuando aplicamos los mismos pasos de nuestro escenario anterior?

Los resultados se verán algo como esto:

Análisis profundo de RANKX: una función LuckyTemplates DAX

Ahora empezamos a ver un problema con nuestra fórmula de clasificación. Dado que la función RANKX itera sobre un conjunto completo de tablas, no puede consolidar los resultados de las ciudades con el mismo nombre, que están disponibles en dos territorios diferentes. Esto finalmente resulta en un error.

Para resolver este problema, debe hacer referencia al nombre del campo dentro de la función RANKX y al nombre de la tabla, tal como se muestra en la imagen a continuación.

Análisis profundo de RANKX: una función LuckyTemplates DAX

Entonces, ¿cómo solucionó el error? Cuando hacemos referencia a un nombre de campo dentro de la función RANKX, lo iterará solo a través de esa columna y no en toda la tabla.

Eliminará los duplicados aunque las dos ciudades estén disponibles en dos territorios diferentes, consolidándolas así como una sola ciudad.

Escenario RANKX 3: Clasificación de territorios

Entonces, ¿qué sucede cuando el nivel de granularidad disminuye?

En este caso, verá el error al calcular la clasificación a nivel territorial. La razón es que cuando hacemos referencia solo al nombre de la tabla e ignoramos el nombre de la columna nuevamente, se itera sobre una tabla completa y, por lo tanto, no se pueden consolidar los resultados a nivel territorial.

Para obtener los resultados correctos a nivel territorial, debe hacer referencia al campo de territorios dentro de la tabla de regiones. Pero, ¿cuándo debe hacer referencia a todo el tema de la tabla e incluir el nombre del campo junto con la tabla?

Cuando la clasificación se aplica sobre el nivel más bajo de granularidad, podemos referirnos al nombre de la tabla e ignorar el nombre del campo.

Análisis profundo de RANKX: una función LuckyTemplates DAX

Pero cuando el nivel de granularidad disminuye, tendremos que hacer referencia al nombre de la columna junto con el nombre de la tabla. Hasta ahora, solo estamos analizando los resultados en una sola visualización, es decir, una tabla.

Clasificación de ciudades V2: el mejor enfoque con Slicer

Dupliquemos el segundo escenario donde el lado izquierdo del objeto visual hará referencia solo al nombre de una tabla, mientras que el lado derecho hará referencia al nombre de la columna dentro de la función RANKX. Luego compararemos los resultados al traer una segmentación a esa página en forma de territorios, lo que da como resultado la imagen a continuación.

Análisis profundo de RANKX: una función LuckyTemplates DAX

Cuando hacemos una selección en la segmentación, notará que en el lado izquierdo de la tabla visual, no proporciona el resultado en orden de serie ya que RANKX está iterando sobre toda la tabla de la región. Sin embargo, en el lado derecho de la tabla visual, verá los resultados en un orden en serie.

La razón es que RANKX está iterando solo sobre una columna de tabla específica, lo que le permite filtrar los resultados según la selección realizada en la segmentación. También es una de las cosas más importantes para recordar.

Si queremos ver los resultados de la clasificación general, podemos hacer referencia solo al nombre de la tabla dentro de la función RANKX .

Pero si queremos que nuestros resultados estén en orden de serie según la selección realizada en la segmentación, también debemos hacer referencia a un nombre de columna dentro de la función.

Escenario RANKX 4: Clasificación de productos

Por último, procedamos con nuestro escenario final. Examinemos qué sucede cuando colocamos un pedido de producto en un campo determinado y cómo RANKX evalúa la clasificación en el back-end.

En este escenario, estamos utilizando el nombre de productos de la tabla de productos para analizar cuáles son nuestros productos con mejor rendimiento .

Entonces, al igual que en el primer escenario, debe escribir una medida de clasificación para sus productos (en este caso, use la clasificación de productos). Si trae la medida de clasificación de productos dentro de la imagen, verá un resultado como el de la imagen a continuación:

Análisis profundo de RANKX: una función LuckyTemplates DAX

Puede ver que aunque hemos hecho referencia a nuestro campo de nombre de producto dentro de la función RANKX, no está evaluando los resultados correctamente. Entonces, ¿por qué sucede esto? Para responder a esta pregunta, debemos abrir DAX Studio .

Escenario RANKX 5: Estudio DAX

Entonces, abramos DAX Studio y veamos cómo RANKX evalúa los resultados de clasificación en el back-end.

En la imagen a continuación, copié la consulta de la tabla visual a través de Performance Analyzer y la pegué en DAX Studio. Como puede ver en esta consulta, también existe el índice de productos, un campo de clasificación dentro de la tabla de productos.

Análisis profundo de RANKX: una función LuckyTemplates DAX

Por lo tanto, a pesar de que en nuestra tabla visual solo trajimos el nombre del producto, las ventas totales y la medida de clasificación, se hace referencia a este campo de forma predeterminada en la parte posterior del cálculo de clasificación.

Así que ahora, arreglemos nuestra medida de clasificación de productos haciendo referencia al campo de clasificación dentro de la función RANKX y veamos los resultados por última vez.

Análisis profundo de RANKX: una función LuckyTemplates DAX

Como puede ver en la imagen de arriba, los resultados de los nombres de productos ahora se evalúan correctamente. Por lo tanto, siempre que tengamos un campo ordenado por otro campo, debemos hacer referencia a ambos campos dentro de la función RANKX según todos los escenarios que hemos discutido hoy.

Conclusión

Esos son algunos de los escenarios cuando se usa la función RANKX en los cálculos DAX. En general, hay muchas más formas de hacerlo en una amplia gama de funciones.

Lo más importante que debe recordar es que debe comprender el contexto en el que se coloca su función RANKX.

RANKX es excepcionalmente versátil para calcular cualquier tipo de análisis de clasificación dentro de LuckyTemplates. También permite conocimientos avanzados que impresionan a los consumidores de sus informes y visualizaciones.

Mis mejores deseos,

duro anil joshi


Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.