Aunque las tablas y matrices de Power BI son ordenables, de manera que podemos visualizar un dato de mayor a menor o viceversa y así obtener un ranking, en ocasiones nos piden que a su vez se muestre un número que represente ese valor, independientemente de como tengamos en cada momento ordenada la información.
También es frecuente que ese ranking sea variable a una categoría concreta de los datos, de manera que varíe en función de la selección que exista en el informe. Para ello DAX dispone de una función específica denominada RANKX.
Para mostrar su funcionamiento partiremos de un ejemplo con un juego de datos muy simple compuesto por una tabla (Venta por categoria) de tres campos (Fecha, Categoría y Venta). Se trata de una lista de ventas en diferentes fechas en categorías de productos distintas.
Podemos empezar por crear una medida que nos calcule el total de venta.
Total Venta = SUM('Venta por categoria'[Venta])
Y visualizar el dato en una tabla:
También podemos incluir en el informe un filtro con el que poder delimitar la lista que aparece en la tabla
Y por último crear la medida de ranking del siguiente modo:
Ranking = RANKX(ALLSELECTED('Venta por categoria'[Categoría]); CALCULATE(SUM('Venta por categoria'[Venta])))
Esta medida devuelve la posición en el ranking de cada elemento según la venta y las categorías seleccionadas.