Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
3 years ago

Necesito TOPN

Tengo la siguiente medida y ¿qué agrego para mostrar solo el Top 5?

Agrupación de causas de rango =
Si (
ISINSCOPIO(InjuryCause[Agrupación de causas] ),
RANKX(
CALCULABLE(
VALORES(InjuryCause[Agrupación de causas] ),
TODOSSELECCIONADOS (InjuryCause[Agrupación de causas] )
),
LossRunToExcel[Recuento del total bruto incurrido])
)

7 Replies

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Conseguí que eso funcionara, pero tengo lazos y termino con más de 5 valores. A medida que uso [Recuento del total bruto incurrido] para el primer cálculo, ¿cómo puedo agregar el siguiente cálculo para verificar la [Suma del total bruto incurrido] para romper los lazos para permanecer en 5 o menos?

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        TOPN también puede lidiar con los lazos.

        TOPN – Guía DAX

        --  TOPN might return more than the requested rows in presence of ties.
        EVALUATE
            TOPN (
                3,
                ADDCOLUMNS (
                    VALUES ( 'Product'[Product Name] ),
                    "@Sales Amount", MROUND ( [Sales Amount], 500000 )
                ),
                [@Sales Amount],
                DESC
            )
        ORDER BY [@Sales Amount] DESC
         
        --  Multiple sorting criteria can be provided in further parameters.
        EVALUATE
            TOPN (
                3,
                ADDCOLUMNS (
                    VALUES ( 'Product'[Product Name] ),
                    "@Sales Amount", MROUND ( [Sales Amount], 500000 )
                ),
                [@Sales Amount],
                DESC,
                [Product Name],
                ASC
            )
        ORDER BY [@Sales Amount] DESC

  • Puede aplicar una condición si el resultado de su expresión que está calculando el rango requerido es menor o igual que 5 o no, para un valor booleano TRUE()/FALSE() o convertido a int 1/0, luego puede aplicar un filtro de nivel visual.
    Mira esto.
    https://youtu.be/-E_5BTPBXQY ( Top 5 vs Otros)