Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
3 years ago

RANKX no funciona consistentemente

Quiero entender el funcionamiento de RANKX.

Tengo la siguiente medida:

Clasificar el color en las ventas =
SI ( HASONEVALUE ( 'Producto'[Color] ),
RANKX (
TODO ( 'Producto'[Color] ),
[NetSales]
)
)

[Color] está en la tabla 'Producto' que está directamente vinculada a la tabla 'Ventas', que se utiliza para calcular [NetSales]. Esto funciona perfectamente.

Sin embargo, si quiero utilizar esta medida:

Clasificar al gato en ventas =
SI ( HASONEVALUE ( «categoría de producto»[categoría] ),
RANKX (
TODO ( «categoría de producto»[categoría] ),
[NetSales]
)
)

Solo obtengo rangos de 1.
La única diferencia es que la tabla 'Categoría de producto' no está directamente vinculada a la tabla 'Ventas', sino que está vinculada a través de la tabla 'Subcategoría de producto' y 'Producto'.
¿Por qué no funciona la segunda medida?

Si cambio la referencia 'Categoría de producto' [Categoría] en una referencia de tabla ('Categoría de producto') la segunda medida funciona.
Pero, ¿por qué esto no es necesario para la medida que clasifica 'Producto' [Color]?

2 Replies

  • @LeonHekkert ,

    Hasta donde yo sé, la función ALL() es devolver una tabla con todos los valores de la tabla. Creo que esto debería deberse a la relación en su modelo de datos. La tabla Categoría de producto no está conectada directamente con la tabla Producto. Solo con todas las columnas de color no es suficiente para que Power BI calcule y devuelva el resultado correcto.

    Saludos
    Rico Zhou

    Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

  • @v-rzhou-msft

    Eso es todo. Con 'Producto'[Color] (que es una tabla directamente vinculada a 'Ventas') funciona con una referencia de columna, pero con 'Categoría de producto' [Categoría] (que es una tabla vinculada indirectamente a 'Ventas', a través de 'Subcategoría de producto' y 'Producto') no lo hace.

    Así que la única diferencia que veo es que las tablas no están vinculadas directamente. ¿Es esta la causa de que no funcione?