Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

TOP N con TOP N

¿Sabes cómo en cada año, para cada mercado muestran las mejores N empresas y para esas empresas muestran los mejores n colores?

MercadoAñoCompañíaColorVentas
Francia2019OmoBlanco1
Francia2020CocaColaMarrón2
Francia2019CocaColaMarrón3
Polonia2019CocaColaMarrón claro1
Polonia2020CocaColaMarrón3
Polonia2021OmoRosado4
Polonia2021OmoBlanco4
Polonia2021CocaColaMarrón3

Me gustaría mostrarlo en el gráfico de columnas apiladas. Mostrar TOP N Empresas y el resto en la columna "OTROS" y para cada empresa N Color superior y el resto en la columna "Otros".

@quantumudit

4 Replies

  • Hola

    Sobre la base de los datos de muestra, ilustre el aspecto de la salida deseada para un mejor deslizamiento.

  • Hola @Ania26 ¿Podrías probar esto, por favor?

    1. Empresas de rango:
      CompanyRank = RANKX(ALL('Tabla'[Empresa]), SUM('Tabla'[Ventas]), , DESC)

    2. Empresas del Grupo:
      CategoríaEmpresa = IF([RangoEmpresa] <= N, 'Tabla'[Empresa], "Otros")

    3. Colores de rango:
      ColorRank = RANKX(ALL('Tabla'[Color]), SUM('Tabla'[Ventas]), , DESC)

    4. Colores del grupo:
      ColorCategory = if([ColorRank] <= n, 'tabla'[color], "otros")

    5. Crear gráfico:

      • Eje: Año, Mercado.
      • Valores: SUMA (VENTAS).

    Si esta publicación ayudó, por favor felicite y acepte esto como una solución
    Gracias de antemano

  • Hola @Ania26

    ¿Podría especificar el número de "N" cuando llegue a los resultados Top-N? Además, ¿se determinarán las mejores empresas en función del ranking que hayamos realizado?

    Gracias

    Udit

  • Hola @Ania26

    Pruebe esto:

    Cree columnas calculadas.

    Company Group = 
    VAR N = 1 // Custom top N ranking.
    VAR _rank = 
    RANKX(
        FILTER(
            ALL('Table'),
                'Table'[Market] = EARLIER('Table'[Market]) &&
                'Table'[Year] = EARLIER('Table'[Year]) 
        ),
        'Table'[Sales],
        ,
        DESC,
        Dense
    )
    RETURN
    IF(
        _rank <= N, 
        'Table'[Company], 
        "Others"
    )

    Color Group = 
    VAR N = 1 // Custom top N ranking.
    VAR _rank = 
    RANKX(
        FILTER(
            ALL('Table'),
                'Table'[Market] = EARLIER('Table'[Market]) &&
                'Table'[Company] = EARLIER('Table'[Company]) &&
                'Table'[Year] = EARLIER('Table'[Year]) 
        ),
        'Table'[Sales],
        ,
        DESC,
        Dense
    )
    RETURN
    IF(
        _rank <= N, 
        'Table'[Color], 
        "Others"
    )

    Cree un gráfico de columnas apiladas.

    Aquí está el resultado.

    Saludos

    Nono Chen

    Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.