Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
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 | A | bolsa | 5 |
1/2/2021 | A | bolsa | 2 |
1/3/2021 | A | bolsa | 6 |
1/1/2021 | A | taza | 1 |
1/2/2021 | A | taza | 2 |
1/3/2021 | A | taza | 3 |
1/1/2021 | B | bolsa | 3 |
1/2/2021 | B | bolsa | 2 |
1/3/2021 | B | bolsa | 5 |
1/1/2021 | B | taza | 7 |
1/2/2021 | B | taza | 5 |
1/3/2021 | B | taza | 3 |
Esta es la salida deseada:
nombre | categoría | valor |
A | bolsa | 13 |
A | taza | 13 |
B | bolsa | 15 |
B | taza | 15 |
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.
Solved! Go to Solution.
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:
Con suerte, esto es lo que estás buscando.
saludos
gato
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:
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 | A | bolsa | 5 |
1/2/2021 | A | bolsa | 2 |
1/3/2021 | A | bolsa | 6 |
1/1/2021 | A | taza | 1 |
1/2/2021 | A | taza | 2 |
1/3/2021 | A | taza | 3 |
1/1/2021 | B | bolsa | 3 |
1/2/2021 | B | bolsa | 2 |
1/3/2021 | B | bolsa | 5 |
1/1/2021 | B | taza | 7 |
1/2/2021 | B | taza | 5 |
1/3/2021 | B | taza | 3 |
La tabla resultante sería:
fecha | nombre | categoría | valor |
1/1/2021 | A | taza | 1 |
1/2/2021 | A | taza | 2 |
1/3/2021 | A | taza | 3 |
Con el código anterior, solo debería tener una fila de datos:
nombre | categoría | valor |
A | taza | 6 |
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
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 |
A | bolsa | 13 |
A | taza | 6 |
B | bolsa | 10 |
B | taza | 15 |
Los valores de A deben ser los mismos y los valores de B deben ser los mismos. Esperaba que algún DAX resolviera esto