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, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare 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
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

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

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

October NL Carousel

Fabric Community Update - October 2024

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

Top Solution Authors