Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hola chicos
Estoy tratando dentro de una medida de generar el ranking por país basado en ACT vs BUD.
La tabla de hechos y la tabla de dimensiones DimEntities están conectadas en el modelo.
La tabla de hechos tiene solo una columna con los valores y una columna para diferenciar el escenario (por lo tanto, ACT, BUD, etc.).
Entiendo que RANKX funciona en el contexto de filas, por lo que apenas puedo usarlo en medidas ya existentes. Es por eso que estoy tratando de construir estas tablas virtuales.
También entendí que para calcular ACT - BUD, primero deben crearse en una primera tabla virtual.
Ahora me estoy volviendo loco, porque hagas lo que hagas, obtengo el ranking "1" para todos los países.
Aquí está el código DAX que uso:
Solved! Go to Solution.
Hola, chicos
Creo que encontré la solución:
Hola, chicos
Siguiendo esta idea
Hola, chicos
Siguiendo esta idea
Me alegro de que pudieras resolverlo.
RANKX es una función simple pero no fácil de usar.
Estoy agregando para otros referencia futura y para usted también:
Creo que está buscando calcular el rango dinámicamente en función de múltiples columnas (tabla).
Puede consultar este artículo para obtener más información:
https://www.sqlbi.com/articles/rankx-on-multiple-columns-with-dax-and-power-bi/
Sección: Ranking dinámico de ventas redondeadas y nombre del cliente
https://www.sqlbi.com/articles/introducing-rankx-in-dax/
https://blog.enterprisedna.co/rankx-dax-function-in-power-bi-a-comprehensive-overview/
Todavía estoy desconcertado, si este enfoque funciona o no en su escenario:
Creé la medida de beneficio como se muestra a continuación
Creé la medida de rango como se muestra a continuación
Rank Profit By Product Category By Sales Territory Country =
IF ( HASONEVALUE('Product'[Category]) && HASONEVALUE('Sales Territory'[Country]) && not ISBLANK(Sales[Profit]),
RANKX ( ALLSELECTED(Sales), CALCULATE( [Profit], ALLEXCEPT(Sales, 'Product'[Category], 'Sales Territory'[Country])) , , DESC, DENSE)
)
Veo la salida como se muestra a continuación
🙂
Hola, chicos
Creo que encontré la solución:
Ahora estoy probando suerte con la función no tan comunicada "RANK", sin "X".
Si alguien tiene ideas allí...
Bien
agradable, pero aún no funciona 😞
Al final, necesito tenerlo en medida de trabajo.
Ir ahora a la cama. Quizás mañana lo resuelva. Bien
Para depurar, puede ver cuáles son los datos que vienen aquí, como crear una tabla dax
Hola
Gracias ¡Amitchandak!
Desafortunadamente no resuelve el problema.
De alguna manera, el ranking ahora es del 1 al 4.
¿Alguna idea de cómo podría depurar esto?
Estoy intentando más basándome en su idea.
Bien
G.
@Ghuiles, Prueba como
rankx(
RESUMIR(
allselected('Hecho'),
«Hecho» [fecha],
'Hecho' [Entidad],
DimEntities[País]), CALCULATE( SUM('Fact'[Value]), 'Fact'[Scenario]= "Actual")- CALCULATE(SUM('Fact'[Value]), 'Fact'[Scenario]= "Budget"),,desc,dense)
Clasificación de Power BI en tablas de dimensiones: https://youtu.be/X59qp5gfQoA
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.