Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
MPICKETT
Frequent Visitor

Usando RANKX, con una medida, e ISINSCOPE, dentro de una jerarquía de matrices

Hola -

He intentado todo lo que se me ocurre o podría encontrar contenido para, con el fin de entender cómo lograr las clasificaciones adecuadas en cada nivel en una jerarquía de dos niveles, pero estoy perplejo y frustrado.

Problema:

Tengo una Medida, Horas Totales por Conductor, que estoy tratando de usar en el cálculo de otra Medida, Horas Totales por Conductor (rango). Me gustaría que la Medida de Rango proporcionara una clasificación de 1-10 para Regiones en la parte superior de la jerarquía, luego proporcionar una clasificación de 1-20 para los Conductores individuales una vez que desglose en cada Región.

Tal como está, puedo lograr la clasificación adecuada a nivel de conductor, pero no a nivel regional.

La fórmula actual tiene el siguiente aspecto:

Total de horas por conductor (rango) ?

Var IsRegionVisible ?

ISINSCOPE('Region Week Range Key'[Región])

VAR IsDriverVisible ?

ISINSCOPE('Region Week Range Key'[ID del conductor])

DriverMeasure del VAR (VAR DriverMeasure)

RANKX(ALLSELECTED('Region Week Range Key'[DRIVER ID]), CALCULATE([Total Hours per Driver (measure)]),,DESC)

RegMeasure del VAR (VAR RegMeasure)

RANKX(ALLSELECTED('Region Week Range Key'[Region]), CALCULATE([Total Hours per Driver (measure)]),,DESC)

devolución

SWITCH(TRUE(),

IsDriverVisible, DriverMeasure,

IsRegionVisible, RegMeasure,

BLANK())

Hay una relación entre dos tablas conectadas por una clave que tiene el siguiente aspecto:

Hierarchy Ranking Relationships.JPG

La salida actualmente tiene el siguiente aspecto:

TODAS LAS REGIONES (Nivel Superior)

RegionalRankError.png

Región "ATLANTIC" (Drill-Down)

DriverRankSuccess.png

Mi objetivo sería mantener la clasificación de la Región Atlántica tal cual, lo cual es correcto, pero ajustar las clasificaciones regionales para que reflejen 1-8 de clasificación.

Muchas gracias por su tiempo y ayuda.

Mejor

Mp

1 ACCEPTED SOLUTION

Se lee correctamente que un CALCULATE() es necesario allí; sin embargo, cuando se hace referencia a una medida como esa, se envuelve automáticamente en una. Si escribiera SUM(Table[Column1]), eso tendría que ajustarse en CALCULATE().

Para su medida, para solucionar problemas, ¿obtiene el resultado esperado para el rango de región cuando saca el controlador de la jerarquía? O si comenta su devolución con // y devuelve sus variables isdrivervisible e isregionvisible en su lugar, puede ayudar a diagnosticar dónde está el problema.

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


View solution in original post

6 REPLIES 6
Anonymous
Not applicable

Hola a todos, en realidad estoy enfrentando un problema donde tengo una lista de jerarquía.

País>Cliente>División>Producto

Mi medida es una función de conmutación en la que si la segmentación seleccionada es ventas, mostrará el importe de ventas, si el costo, mostrará el importe del coste.

Sin embargo, necesito ver el top 20 por cliente. la jerarquía también debe reflejarse únicamente en el principal cliente.

por ejemplo, de los 20 principales clientes, sabremos que estos 20 principales clientes provienen de qué país, qué división tienen qué producto tienen.

¿hay un dax para esto que puedo referirme?

mahoneypat
Employee
Employee

Un par de comentarios/preguntas a considerar:

1. ¿Por qué envuelve las medidas dentro de un CALCULATE()? No creo que sea necesario y pueda ser el problema.

2. ¿Qué quieres decir con 1-8 vs 1-20? El rango se basará en cuántas filas hay en las tablas ALLSELECTED(). ¿Quiere decir que hay 8 regiones y 20 conductores, así que eso es lo que esperas?

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


@mahoneypat

1. Leí en un hilo diferente que para que una Medida funcione apropiadamente en RANKX, necesitaba ser envuelto en CALCULATE(), pero acabo de eliminar el CALCULATE() y proporciona el mismo resultado que antes.

2. Lo siento por la falta de claridad, usted está en lo cierto. Mi expectativa de clasificación se basa en que hay 8 regiones y cada región tiene en promedio 20 conductores, que es de donde vino la referencia a esos valores.

Se lee correctamente que un CALCULATE() es necesario allí; sin embargo, cuando se hace referencia a una medida como esa, se envuelve automáticamente en una. Si escribiera SUM(Table[Column1]), eso tendría que ajustarse en CALCULATE().

Para su medida, para solucionar problemas, ¿obtiene el resultado esperado para el rango de región cuando saca el controlador de la jerarquía? O si comenta su devolución con // y devuelve sus variables isdrivervisible e isregionvisible en su lugar, puede ayudar a diagnosticar dónde está el problema.

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


@mahoneypat

Gracias por su ayuda. Pero me siento como un idiota, Lol.

Traté de aislar sólo el campo Región antes y no recibí el resultado esperado. Sin embargo, tomé su consejo y traté de aislarlo de nuevo, pero esta vez me di cuenta de que no he hecho caso a la advertencia que leí de un post anterior... tenga cuidado con los efectos de los filtros de página con este cálculo. Borré el filtro de página y ajusté la fórmula para calcular con la condición de la medida Horas por conductor que no es BLANK, y voila, ahora estoy recibiendo los resultados esperados.

Gracias por su ayuda y tiempo. Te lo agradezco mucho.

Mejor

Mp

Me alegro de que haya funcionado. Hice algo así incluso hoy.

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.