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

Get 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

Reply
Rice
Helper I
Helper I

RankX Tie Break alfabéticamente

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.

5 REPLIES 5
v-gizhi-msft
Community Support
Community Support

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:

6.PNG

Espero que esto ayude.

Saludos

Giotto

Vvelarde
Community Champion
Community Champion

@Rice

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




Lima - Peru

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.

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

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

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

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

Top Solution Authors
Top Kudoed Authors