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.
Hola
Recientemente he intentado calcular el rango para cada columna en la jerarquía de la matriz, puedo calcular hasta 2 niveles, pero cuando hay más de 2 niveles o columnas involucradas, da una salida incorrecta.
Hice un poco de I + D y encontré esta solución por Harsh, él está calculando la clasificación para 4 niveles / columna, pero cuando intento eliminar la columna de la ciudad y cambiar la medida dax, da una salida incorrecta.
¿Alguien puede ayudarme con lo que estoy haciendo mal?
Adjunto debajo del pbix con datos de muestra y medida dax existente.
¡Gracias!
Medida exisitng dax:
Quiero eliminar la ciudad de esta jerarquía (solo habrá 3 niveles: canal, nombres de clientes, nombres de productos)
He eliminado la ciudad de la jerarquía y he modificado la medida en consecuencia, pero aún así, da una salida incorrecta.
Enlace Gdrive: - https://drive.google.com/file/d/1wEJb9DdRHqUMNTX_YTE-ZbeJlSdktKcn/view?usp=sharing
Por favor, modifique su medida.
Ranking - Harsh =
VAR _Channel_Ranking =
CALCULATE(
RANKX( ALL( Sales_Data[Channel] ) , [TotalSales] , , DESC ) ,
ALL( Customer_Data[Customer Names] ) ,
ALL( Regions_Table[City] ) ,
ALL( Products_Data[Product Name] ) )
VAR _Customer_Ranking =
CALCULATE(
RANKX( ALL( Customer_Data[Customer Names] ) , [TotalSales] , , DESC ) ,
ALL( Regions_Table[City] ) ,
ALL( Products_Data[Product Name] ) ,
ALLSELECTED( Sales_Data[Channel] ) )
VAR _City_Ranking =
CALCULATE(
RANKX( ALL( Regions_Table[City] ) , [TotalSales] , , DESC ) ,
ALL( Products_Data[Product Name] ) ,
ALL( Customer_Data[Customer Names] ) ,
ALLSELECTED( Sales_Data[Channel] ) )
VAR _Product_Ranking =
RANKX(ALLSELECTED(Products_Data[Product Name]),CALCULATE(SUM(Sales_Data[Total Revenue])),,DESC)
VAR _Results =
SWITCH( TRUE() ,
ISINSCOPE( Products_Data[Product Name] ) , _Product_Ranking ,
ISINSCOPE( Customer_Data[Customer Names] ) , _Customer_Ranking ,
ISINSCOPE( Sales_Data[Channel] ) , _Channel_Ranking ,
BLANK() )
RETURN
_Results
Saludos
Equipo de apoyo a la comunidad _ Polly
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hola @v-polly-msft
¿Puede explicar que ha utilizado la columna ciudad en la medida cuando no está incluyendo esa columna en particular en la matriz? Si elimino la ciudad de la medida, da la salida incorrecta.
Puede intentar usar la columna de ciudad en la medida. Cuando eliminas la columna de la ciudad, el rankx sigue funcionando bien. Incluso si lo agregas, todavía funciona.
Ranking - Harsh =
VAR _Channel_Ranking =
CALCULATE(
RANKX( ALL( Sales_Data[Channel] ) , [TotalSales] , , DESC ) ,
ALL( Customer_Data[Customer Names] ) ,
ALL( Regions_Table[City] ) ,
ALL( Products_Data[Product Name] ) )
VAR _Customer_Ranking =
CALCULATE(
RANKX( ALL( Customer_Data[Customer Names] ) , [TotalSales] , , DESC ) ,
ALL( Regions_Table[City] ) ,
ALL( Products_Data[Product Name] ) ,
ALLSELECTED( Sales_Data[Channel] ) )
VAR _City_Ranking =
CALCULATE(
RANKX( ALL( Regions_Table[City] ) , [TotalSales] , , DESC ) ,
ALL( Products_Data[Product Name] ) ,
ALL( Customer_Data[Customer Names] ) ,
ALLSELECTED( Sales_Data[Channel] ) )
VAR _Product_Ranking =
RANKX(ALLSELECTED(Products_Data[Product Name]),CALCULATE(SUM(Sales_Data[Total Revenue])),,DESC)
VAR _Results =
SWITCH( TRUE() ,
ISINSCOPE( Products_Data[Product Name] ) , _Product_Ranking ,
ISINSCOPE( Customer_Data[Customer Names] ) , _Customer_Ranking ,
ISINSCOPE(Regions_Table[City]),_City_Ranking,
ISINSCOPE( Sales_Data[Channel] ) , _Channel_Ranking ,
BLANK() )
RETURN
_Results
Puede comparar la diferencia entre las dos medidas y las dos imágenes.
Saludos
Equipo de apoyo a la comunidad _ Polly
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
¡Funciona bien! ¿Podría usar otra matriz en una nueva página?
Había algo mal con la cortadora de dátiles. Por favor, haga un cheque.
Si he entendido mal su significado, proporcione más detalles con la salida deseada.
¿Cómo crear un rango dinámico en Matrix con jerarquía?
Saludos
Equipo de apoyo a la comunidad _ Polly
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hola @v-polly-msft
Gracias por probarlo, sin embargo, mi resultado deseado es calcular el rango para cada columna / jerarquía.
A nivel de canal, su ranking funciona bien pero si voy al segundo y tercer nivel que nombres de clientes, Nombres de producto da la salida incorrecta.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |