Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Principales clientes

Hola

¿Cuál sería la medida correcta para mostrar el Top 10 de clientes durante un período de tiempo? Gracias.

La clasificación resultante no se basa en el total general, sino en las ventas totales de un mes determinado (o período de columna).

En el siguiente ejemplo, si hay 500 clientes, la medida mostrará solo 16 clientes que se encuentran entre los 10 clientes principales para el período dado, que es de enero a mayo (mes a mes)

Oros_0-1718592265145.png

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Hola

No estoy seguro de cómo se ve su modelo semántico, pero traté de crear un archivo pbix de muestra como el que se muestra a continuación.

En mi muestra, traté de lograr los 3 primeros, y espero que pueda volver a crear la medida en su muestra.

Por favor, compruebe la imagen de abajo y el archivo pbix adjunto.

Jihwan_Kim_0-1718593479596.png

Jihwan_Kim_1-1718595137660.png

Sales: = 
SUM( sales[sales])

Función WINDOW (DAX) - DAX | Microsoft Learn

Sales top 3: = 
VAR _selectedperiod =
    ALLSELECTED ( 'calendar'[MOnth-Year sort] )
VAR _t =
    ADDCOLUMNS (
        CALCULATETABLE (
            SUMMARIZE (
                ALL ( sales ),
                customer[customer],
                'calendar'[MOnth-Year sort],
                'calendar'[Month-Year]
            ),
            'calendar'[MOnth-Year sort] IN _selectedperiod
        ),
        "@sales", [Sales:]
    )
VAR _group =
    GROUPBY (
        _t,
        customer[customer],
        "@allsales", SUMX ( CURRENTGROUP (), [@sales] )
    )
VAR _toplist =
    SUMMARIZE (
        WINDOW ( 1, ABS, 3, ABS, _group, ORDERBY ( [@allsales], DESC ) ),
        customer[customer]
    )
RETURN
    CALCULATE (
        SUM ( sales[sales] ),
        KEEPFILTERS ( customer[customer] IN _toplist )
    )

Hola @Jihwan_Kim,

Muchas gracias por su rápida respuesta y por tomarse el tiempo de enviar un archivo pbix. Creo que está muy cerca del resultado previsto.

Una cosa que noté es que las 2 tablas no muestran los 3 primeros por mes.

(NO necesitamos los 3 primeros por total general)

Oros_0-1718633587934.png

(Necesitamos mostrar los 3 mejores clientes en un mes determinado. NO necesitamos mostrar a los clientes que nunca han estado en el top 3 en un mes determinado. los resaltados en rojo nunca han estado en el top 3 en ninguno de los meses dados).

Todos los clientes de amarillo han estado entre los 3 primeros en un mes determinado. Gracias de nuevo.

Oros_1-1718633687320.png

Hola

Gracias por su mensaje, y verifique la imagen a continuación y el archivo pbix adjunto si se adapta a sus necesidades.

Jihwan_Kim_0-1718643460720.png

Sales top 3 v2: =
CALCULATE (
    SUM ( sales[sales] ),
    KEEPFILTERS (
        WINDOW (
            1,
            ABS,
            3,
            ABS,
            CALCULATETABLE (
                SUMMARIZE (
                    sales,
                    customer[customer],
                    'calendar'[MOnth-Year sort],
                    'calendar'[Month-Year]
                ),
                REMOVEFILTERS ( customer[customer] )
            ),
            ORDERBY ( CALCULATE ( SUM ( sales[sales] ) ), DESC )
        )
    )
)

Hola @Jihwan_Kim,

¡Creo que realmente lo lograste! ¿Cómo muestro el resto de los números de esta manera? Me gustaría mostrar los números no resaltados, junto con los números resaltados en amarillo. Gracias de nuevo.

Oros_0-1718670911250.png

Hola

Por favor, compruebe la imagen de abajo y el archivo pbix adjunto.

Jihwan_Kim_0-1718681379915.png

Sales top 3 v3: =
VAR _t =
    ADDCOLUMNS (
        SUMMARIZE (
            ALLSELECTED ( sales ),
            customer[customer],
            'calendar'[MOnth-Year sort],
            'calendar'[Month-Year]
        ),
        "@result",
            CALCULATE (
                SUM ( sales[sales] ),
                KEEPFILTERS (
                    WINDOW (
                        1,
                        ABS,
                        3,
                        ABS,
                        CALCULATETABLE (
                            SUMMARIZE (
                                sales,
                                customer[customer],
                                'calendar'[MOnth-Year sort],
                                'calendar'[Month-Year]
                            ),
                            REMOVEFILTERS ( customer[customer] )
                        ),
                        ORDERBY ( CALCULATE ( SUM ( sales[sales] ) ), DESC )
                    )
                )
            )
    )
VAR _list =
    SUMMARIZE ( FILTER ( _t, [@result] <> BLANK () ), customer[customer] )
RETURN
    CALCULATE ( SUM ( sales[sales] ), KEEPFILTERS ( customer[customer] IN _list ) )

Hola @Jihwan_Kim ,

¡Eres un superhéroe absoluto!! ¡Funciona! ¡Gracias!

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors
Top Kudoed Authors