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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Max de agregación

Hola

Estoy tratando de encontrar el máximo de datos agregados y he estado teniendo problemas.

Aquí hay una entrada de muestra:

fecha nombre categoría valor

1/1/2021

Abolsa5
1/2/2021

A

bolsa2
1/3/2021Abolsa6

1/1/2021

Ataza1
1/2/2021Ataza2
1/3/2021Ataza3

1/1/2021

Bbolsa3
1/2/2021Bbolsa2
1/3/2021Bbolsa5

1/1/2021

Btaza7
1/2/2021Btaza5
1/3/2021Btaza3

Esta es la salida deseada:

nombre categoría valor
Abolsa13
Ataza13
Bbolsa15
Btaza15

Quiero encontrar el máximo de los valores agregados para Nombre y Categoría, pero perpetuarlo en todas las categorías para cada Nombre. En este ejemplo, el valor máximo para A es 13 (que proviene de la agregación de la bolsa) y el máximo para B es 15 (suma de valores para la Copa).

Gracias de antemano.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hey @kirbynguyen ,

Asumo que esta medida crea lo que está buscando:

Measure = 
var __t =
    ADDCOLUMNS(
        CALCULATETABLE(
            SUMMARIZE(
                'Table'
                , 'Table'[Name    ]
                , 'Table'[Category    ]
            )
            , ALL( 'Table'[Category    ] )
        )
        , "val" , CALCULATE( SUM( 'Table'[Value] ) )
    )
return

    GROUPBY(
        __t
        , "v" , MAXX( CURRENTGROUP() , [val] )
    ) 

Al menos permite crear un objeto visual de tabla que muestre la salida deseada:

image.png

Con suerte, esto es lo que estás buscando.

saludos
gato

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hey @kirbynguyen ,

Asumo que esta medida crea lo que está buscando:

Measure = 
var __t =
    ADDCOLUMNS(
        CALCULATETABLE(
            SUMMARIZE(
                'Table'
                , 'Table'[Name    ]
                , 'Table'[Category    ]
            )
            , ALL( 'Table'[Category    ] )
        )
        , "val" , CALCULATE( SUM( 'Table'[Value] ) )
    )
return

    GROUPBY(
        __t
        , "v" , MAXX( CURRENTGROUP() , [val] )
    ) 

Al menos permite crear un objeto visual de tabla que muestre la salida deseada:

image.png

Con suerte, esto es lo que estás buscando.

saludos
gato

@TomMartens ¡Bien! ¡Esto funciona! Pregunta de seguimiento:

¿Cómo cambiaría el código si tuviera filtros en Nombre o Categoría? Digamos que tenía más datos y filtre B de nombre o Copa de Categoría?

Hey @kirbynguyen ,

para eliminar los filtros existentes que interfieren con el resultado esperado, expanda el ALL( ... ).

Ya he eliminado la categoría, esta columna se utiliza para crear los grupos (Empresa y Categoría).

Así que básicamente en este momento, el código no debe cambiar.

Si me equivoco, crea un pbix que contenga datos de ejemplo pero que refleje tu modelo de datos, sube el pbix a onedrive o dropbox y comparte el enlace. Si está utilizando Excel para crear los datos de ejemplo, comparta también el xlsx.

saludos

gato

Bien, digamos que quiero filtrar Bag y B de este conjunto de datos.

fecha nombre categoría valor

1/1/2021

Abolsa5
1/2/2021

A

bolsa2
1/3/2021Abolsa6

1/1/2021

Ataza1
1/2/2021Ataza2
1/3/2021Ataza3

1/1/2021

Bbolsa3
1/2/2021Bbolsa2
1/3/2021Bbolsa5

1/1/2021

Btaza7
1/2/2021Btaza5
1/3/2021Btaza3

La tabla resultante sería:

fecha nombre categoría valor

1/1/2021

Ataza1
1/2/2021Ataza2
1/3/2021Ataza3

Con el código anterior, solo debería tener una fila de datos:

nombre categoría valor
Ataza6

La principal diferencia entre este resultado y el resultado real que obtuve de la medida es que el valor aquí es 6, mientras que la medida ignora que filtre datos y todavía tengo el valor de A, Bag, que es 13.

Hey @kirbynguyen ,

entonces usted tiene que quitar la pieza ALL, pero no hay ninguna medida que permita devolver ambas variantes.

Si tiene más preguntas, proporcione un pbix que contenga datos de ejemplo, que reflejen el modelo de datos.

saludos

gato

Syndicate_Admin
Administrator
Administrator

No @kirbynguyen,

Intente crear una tabla arrastrando los campos "Categoría", "Nombre" y "Valores", y tendrá su tabla de salida lista.

gracias

Dheeraj
Si esta publicación ayuda, considere Aceptarla como la solución y dé pulgares hacia arriba para ayudar a los demás miembros a encontrarlo más rápidamente.

No creo que entiendas lo que estoy tratando de hacer aquí. La salida de su sugerencia sería:

nombre categoría valor
Abolsa13
Ataza6
Bbolsa10
Btaza15

Los valores de A deben ser los mismos y los valores de B deben ser los mismos. Esperaba que algún DAX resolviera esto

Helpful resources

Announcements
PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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