Forum Discussion

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

Excluir elementos de TOPN

Hola.

Tengo un informe con TOP N. Creé una nueva TABLA SUPERIOR y puse el índice top 5, top 10 y top 15. Creé una medida para agregar en el filtro del informe:

ITEM TOP en SelectedN = IF([ITEM RANKING] <= [ITEM TOPSELECTED],1,0)
¿Cómo se excluyen de la parte superior N ciertos elementos mientras se mantiene el número superior seleccionado de elementos?
Traté de excluir un 2 elementos de los elementos superiores seleccionados, pero la parte superior seleccionada no los reemplaza.
Por ejemplo, si se selecciona top 5 y ya se han filtrado 2 elementos, los 5 primeros solo muestran 3 elementos y no reemplazan los 2 elementos excluidos.
gracias.

16 Replies

  • No @Oros

    Está utilizando esta medida en el panel Filtros para filtrar [ITEM TOP en SelectedN]=1 para mostrar los elementos que necesita, modifique este un poco

    ITEM TOP in SelectedN =
    IF (
        SELECTEDVALUE ( yourTable[yourItemColumn] )
            IN { "yourItem1Name", "yourItem2Name" },
        0,
        IF ( [ITEM RANKING] <= [ITEM TOPSELECTED], 1, 0 )
    )
    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      No @Vera_33 ,

      Muchas gracias por su respuesta. Funciona en el filtrado de los elementos que se van a excluir. Pero no está sustituyendo a esos elementos excluidos.

      Por ejemplo, si los 5 elementos principales son A, B, C, D, E y desea excluir los elementos D y E, los 5 principales deben ser los elementos A, B, C, F, G y no solo A, B y C. Los 5 elementos principales aún deben mostrar 5 elementos y no 3 itmes.

      Lo mismo si se selecciona El Top 10, si hay dos (2) elementos excluidos, el Top 10 debe tomar el 11 y el 12 para reemplazar los elementos excluidos.

      Gracias de nuevo.

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        No @Oros

        Lo misuderstood, así que cuando haces RANKX, necesitas filtrar los elementos fuera primero

  • No @Oros ,

    Debido a sin sus datos, creo una muestra:(rank the below data,and except 55,43)

    tabla base:

    vluwangmsft_0-1627030973226.png

    tabla de índice:

    vluwangmsft_1-1627031009343.png

    Paso 1, use el siguiente dax para crear una nueva columna:

    ITEM RANKING = 
    IF (
        Product_Table[Sales] = 55
            || Product_Table[Sales] = 43,
        BLANK (),
        RANKX (
            FILTER (
                Product_Table,
                Product_Table[Sales] <> 55
                    && Product_Table[Sales] <> 43
            ),
            Product_Table[Sales],
            ,
            DESC,
            DENSE
        )
    )

    Obtendrá lo siguiente:

    vluwangmsft_2-1627031069749.png

    Paso 2, use el siguiente dax para crear una nueva medida:

    ITEM TOP in SelectedN =
    IF (
        MAX ( Product_Table[ITEM RANKING] )
            <= SELECTEDVALUE ( 'ITEM TOPSELECTED'[INDEX] ),
        MAX ( Product_Table[ITEM RANKING] ),
        BLANK ()
    )

    Entonces verás:

    vluwangmsft_3-1627031146517.png

    Puede descargar mi archivo pbix si lo necesita.

    Deseo que sea útil para usted!

    Saludos

    Lucien

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola @v-luwang-msft ,

      Gracias por su respuesta.

      Estoy recibiendo el error se detectó una dependencia circular cuando seguí el paso 1.

      ¿Alguna idea?

      gracias.

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        No @Oros ,

        Podrías pls compartir vuestro pbix archivo ? Y cambie los datos confidenciales a datos de muestra.

        Esto puede variar debido a las diferencias en los datos subyacentes y tendrá que ajustarse a su archivo específico.

        Saludos

        Lucien

  • No @Oros ,

    Si su problema ha sido resuelto, si es así, por favor considere Aceptar una respuesta correcta como la solución o compartir su propia solución para ayudar a otros a encontrarla.

    Saludos
    Lucien