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 a todos,
Sólo estoy buscando una manera de romper los lazos rankx alfabéticamente en DAX basado en una columna secundaria (como Nombre de categoría) sin usar una columna de índice. Tengo un simple objeto visual de tabla que muestra las 10 categorías principales según el recuento de categorías. Necesito rankx para romper los lazos alfabéticamente basado en el nombre de la categoría para mostrar sólo los 10 valores principales y no más.
Puedo romper la corbata usando la función aleatoria o basada en la fecha, pero por desgracia no puedo averiguar cómo romperlo basado en el texto.
He investigado muchas soluciones en la web y en este sitio, pero ninguna parece ayudar con esto específicamente.
Cualquier ayuda sería muy apreciada.
Atentamente.
Hola
Puede sin poder combinar el rankx con la categoría.
Por favor, pruebe esta medida:
Measure = MAX('Table'[Category])&"-"&RANKX(ALLSELECTED('Table'),CALCULATE(COUNT('Table'[Category])),,DESC,Dense)
A continuación, aplíquelo al objeto visual estableciendo top 10 basado en esta medida, se muestra:
Espero que esto ayude.
Saludos
Giotto
Hola, Prueba con este DAX
Nota: Debe ajustar se encuentra en Nombres de columna y Filtro superior 10.
Ranking =
RANKX (
ALLSELECTED ( 'Table'[Pais] );
'Table'[TotalPoints]
+ DIVIDE (
RANKX (
ALLSELECTED ( 'Table'[Pais] );
CALCULATE ( MIN ( 'Table'[Pais] ) );
;
DESC;
DENSE
);
1000
)
)
saludos
Victor
Esto funcionó como un encanto. Parecía que mi problema era tratar de incluir el recuento de categorías como una variable en lugar de una medida. Estúpido error. ¡Gracias por la ayuda!
DAX final para mí:
Var Ranks =
RANKX(
ALLSELECTED('Table'[Category]),
[Category Count] + DIVIDE(
RANKX(
ALLSELECTED('Table'[Category]),
CALCULATE(MIN('Table'[Category])),,DESC,Dense),
100000))
RETURN
IF (
ISBLANK ( 'TopN'[TopN Value] ),
ranks,
IF ( Ranks <= 'TopN'[TopN Value], [Category Count], BLANK () )
)
Hola @Rice,
Yo también tengo el mismo problema que el tuyo y puedo ayudar a explicar esta parte a continuación.
IF ( ISBLANK ( 'TopN'[TopN Value] ), ranks, IF ( Ranks <= 'TopN'[TopN Value], [Category Count], BLANK () ) )
Básicamente, está diciendo:
Si el valor topN está en blanco, muestra todos los rangos, de lo contrario, muestra solo los rangos con un valor menor que el conjunto de parámetros topN.
Documentación de parámetros para DAX: https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-what-if
Sin embargo, también recomendaría comenzar su propia publicación en lugar de revivir algo de hace 4 años.
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.