cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Rice
Frequent Visitor

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.

3 REPLIES 3
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
Rice
Frequent Visitor

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 () )
    )

Helpful resources

Announcements
Join Arun Ulag at MPPC23

Join Arun Ulag at MPPC23

Get a sneak peek into this year's Power Platform Conference Keynote.

PBI Sept Update Carousel

Power BI September 2023 Update

Take a look at the September 2023 Power BI update to learn more.

Learn Live

Learn Live: Event Series

Join Microsoft Reactor and learn from developers.

Dashboard in a day with date

Exclusive opportunity for Women!

Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!

Top Solution Authors