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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Anonymous
Not applicable

Comparar valores agregados y seleccionar max

Necesito ayuda para resumir los datos de una categoría por usuario y contar los resultados filtrados por valor máximo para cada usuario

Para ex: En la imagen de abajo, usuario - "SL-08" tiene una entrada para la categoría - H y 2 entradas para la categoría - F. Por lo tanto, en un período de dar, como una semana de 5/24, este usuario debe contarse para la categoría - F (como se muestra en los datos resumidos). Si hay un empate, la categoría F tiene prioridad.

Necesito ayuda con dax measure, hay otras tablas y filtros relacionados que necesito aplicar utilizándolos a los datos.

Capture.JPG

IdUsuarioIdentificador de categoríaWkFechaNombre de la categoría
165SL-0815/24/20205/26/2020 0:00H
165SL-0825/24/20205/28/2020 0:00F
165SL-0825/24/20205/29/2020 0:00F
165SL-0925/24/20205/27/2020 0:00F
164SL-AE0115/24/20205/26/2020 0:00H
164SL-AE0125/24/20205/27/2020 0:00F
164SL-AE0215/24/20205/26/2020 0:00H
164SL-AE0615/24/20205/26/2020 0:00H
164SL-AE0615/24/20205/27/2020 0:00H
164SL-AE0625/24/20205/26/2020 0:00F
165SL-AE0825/24/20205/27/2020 0:00F
165SL-AE0825/24/20205/26/2020 0:00F
165SL-AE0825/24/20205/27/2020 0:00F

¡¡Gracias!!

7 REPLIES 7
V-lianl-msft
Community Support
Community Support

Hola @vdr ,

Según su descripción, F tiene una prioridad, por lo que primero puede crear una columna calculada como esta:

rank =
VAR count_catefory =
    CALCULATE (
        COUNT ( 'Table (2)'[Category Id] ),
        ALLEXCEPT (
            'Table (2)',
            'Table (2)'[User],
            'Table (2)'[Wk],
            'Table (2)'[Category Name]
        )
    )
VAR precedence =
    IF ( 'Table (2)'[Category Name] = "F", count_catefory + 0.5, count_catefory )
RETURN
    precedence

A continuación, cree una columna calculada para obtener el nombre de categoría de cada usuario.

category_test =
VAR max_ =
    CALCULATE (
        MAX ( 'Table (2)'[rank] ),
        ALLEXCEPT ( 'Table (2)', 'Table (2)'[User] )
    )
RETURN
    CALCULATE (
        FIRSTNONBLANK ( 'Table (2)'[Category Name], 1 ),
        FILTER ( 'Table (2)', 'Table (2)'[rank] = max_ )
    )

test_Compare aggregated values and select max.PNG

El tercer gráfico no se puede lograr en power Bi por el momento

Ejemplo .pbix

Saludos
Liang
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

Hola @V-lianl-msft. ¡Gracias! Gráfico de área que se muestra en el resultado final es lo que realmente necesito y me gustaría utilizar medidas para hacerlo dinámico porque necesita devolver datos para el período seleccionado mes / semana, etc, conjunto de datos real es más de 8M + filas

Además, he añadido las columnas "semana" y "Nombre de categoría" para facilitar la consulta. Ambos tienen mesas diferentes

amitchandak
Super User
Super User

Greg_Deckler
Super User
Super User

@vdr - Este parece un caso de uso para Buscar Min/Max - https://community.powerbi.com/t5/Quick-Measures-Gallery/Lookup-Min-Max/m-p/985814#M434

Aunque sea más sencillo en su caso, obtenga el MAX de Date, utilícelo para buscar el nombre de categoría correspondiente a esa fecha.



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

@Greg_Deckler . Gracias, he probado un enfoque similar antes y no parece obtener la salida que necesito, especialmente para los usuarios que tienen varias categorías en el período de selección. selecciona ambas categorías para el usuario en este caso.

VAR __summarytable =
 //   ADDCOLUMNS (
        SUMMARIZE ( Test2
                        , Test2[User]
                        , Test2[Category Id] 
                        , "MaxxCount",CALCULATE ( COUNTROWS(Test2))
                        , "TWCount",CALCULATE ( COUNTROWS(Test2), FILTER(Test2,Test2[Category Id] = 1))
                        , "AFCount",CALCULATE ( COUNTROWS(Test2), FILTER(Test2,Test2[Category Id] = 2))
                        , "VisitCount",CALCULATE ( COUNTROWS(Test2), FILTER(Test2,Test2[Category Id] = 4))
        )
    
    VAR __Max = MAXX(__summarytable,[MaxxCount])


RETURN
    COUNTROWS(FILTER(__summarytable,[MaxxCount] = __Max || [AFCount] >= [TWCount]))

@vdr- ¿Puede registrar datos de ejemplo como texto y salida esperada? Mucho más fácil de solucionar si puedo volver a crear el problema localmente.



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

Greg, V-lianl-msft,

Disculpas, creé una publicación duplicada.

@Greg_Deckler - por favor eche un vistazo a este hilo. He intentado explicar el escenario y agregar datos de muestra, con el resultado esperado
https://community.powerbi.com/t5/Desktop/Compare-counts-with-in-group-rank-and-count-the-top-values/...

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors