Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola
A continuación se mencionan datos de muestra. Necesito crear agrupación / bin y mostrar el recuento de nombre y suma en cada grupo basado en el filtro de fecha seleccionado en cualquier fecha 1 en particular.
Fecha | Nombre | Suma |
01-01-2020 | A | 29 |
01-01-2020 | A | 20 |
01-01-2020 | B | 25 |
01-01-2020 | C | 9 |
01-01-2020 | D | 11 |
02-01-2020 | A | 30 |
02-01-2020 | B | 27 |
02-01-2020 | C | 4 |
02-01-2020 | C | 2 |
02-01-2020 | D | 2 |
02-01-2020 | D | 20 |
02-01-2020 | E | 27 |
Esta es la salida esperada para cualquier fecha 1 que pueda seleccionar usando el filtro de fecha.
01-01-2020 | ||
Contar | Suma | |
0-20 | 2 | 20 |
21-40 | 1 | 25 |
41-60 | 1 | 49 |
61+ | 0 | 0 |
02-01-2020 | ||
Contar | Suma | |
0-20 | 1 | 6 |
21-40 | 4 | 106 |
41-60 | 0 | 0 |
61+ | 0 | 0 |
¿Alguna sugerencia de cómo lograrlo?
Intenté usar la función de resumen, pero no pude hacerlo.
saludos
Amit Darak
Solved! Go to Solution.
Hola @amitdarak ,
Podrías intentar lograrlo a través de una matriz.
1.Cree una tabla de categorías introduciendo datos para colocar el rango.
2.Cree estas medidas.
Sum1 =
CALCULATE (
SUM ( 'Table'[Sum] ),
ALLEXCEPT ( 'Table', 'Table'[Date], 'Table'[Name] )
)
NewSum =
VAR _020 =
CALCULATE ( [Sum1], FILTER ( 'Table', [Sum1] >= 0 && [Sum1] <= 20 ) )
VAR _2140 =
CALCULATE ( [Sum1], FILTER ( 'Table', [Sum1] >= 21 && [Sum1] <= 40 ) )
VAR _4160 =
CALCULATE ( [Sum1], FILTER ( 'Table', [Sum1] >= 41 && [Sum1] <= 60 ) )
VAR _60 =
CALCULATE ( [Sum1], FILTER ( 'Table', [Sum1] >= 61 ) )
RETURN
SWITCH (
MAX ( 'Category'[Category] ),
"0-20", IF ( ISBLANK ( _020 ), 0, _020 ),
"21-40", IF ( ISBLANK ( _2140 ), 0, _2140 ),
"41-60", IF ( ISBLANK ( _4160 ), 0, _4160 ),
"61+", IF ( ISBLANK ( _60 ), 0, _60 )
)
Count =
VAR _020 =
CALCULATE (
DISTINCTCOUNT ( 'Table'[Name] ),
FILTER ( 'Table', [Sum1] >= 0 && [Sum1] <= 20 )
)
VAR _2140 =
CALCULATE (
DISTINCTCOUNT ( 'Table'[Name] ),
FILTER ( 'Table', [Sum1] >= 21 && [Sum1] <= 40 )
)
VAR _4160 =
CALCULATE (
DISTINCTCOUNT ( 'Table'[Name] ),
FILTER ( 'Table', [Sum1] >= 41 && [Sum1] <= 60 )
)
VAR _60 =
CALCULATE ( DISTINCTCOUNT ( 'Table'[Name] ), FILTER ( 'Table', [Sum1] >= 60 ) )
RETURN
SWITCH (
MAX ( 'Category'[Category] ),
"0-20", IF ( ISBLANK ( _020 ), 0, _020 ),
"21-40", IF ( ISBLANK ( _2140 ), 0, _2140 ),
"41-60", IF ( ISBLANK ( _4160 ), 0, _4160 ),
"61+", IF ( ISBLANK ( _60 ), 0, _60 )
)
3.Cree una matriz de la siguiente manera.
4. Puede filtrar por fecha a través de la segmentación de fecha.
Puede consultar más detalles desde aquí.
Saludos
Stephen Tao
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @amitdarak ,
Podrías intentar lograrlo a través de una matriz.
1.Cree una tabla de categorías introduciendo datos para colocar el rango.
2.Cree estas medidas.
Sum1 =
CALCULATE (
SUM ( 'Table'[Sum] ),
ALLEXCEPT ( 'Table', 'Table'[Date], 'Table'[Name] )
)
NewSum =
VAR _020 =
CALCULATE ( [Sum1], FILTER ( 'Table', [Sum1] >= 0 && [Sum1] <= 20 ) )
VAR _2140 =
CALCULATE ( [Sum1], FILTER ( 'Table', [Sum1] >= 21 && [Sum1] <= 40 ) )
VAR _4160 =
CALCULATE ( [Sum1], FILTER ( 'Table', [Sum1] >= 41 && [Sum1] <= 60 ) )
VAR _60 =
CALCULATE ( [Sum1], FILTER ( 'Table', [Sum1] >= 61 ) )
RETURN
SWITCH (
MAX ( 'Category'[Category] ),
"0-20", IF ( ISBLANK ( _020 ), 0, _020 ),
"21-40", IF ( ISBLANK ( _2140 ), 0, _2140 ),
"41-60", IF ( ISBLANK ( _4160 ), 0, _4160 ),
"61+", IF ( ISBLANK ( _60 ), 0, _60 )
)
Count =
VAR _020 =
CALCULATE (
DISTINCTCOUNT ( 'Table'[Name] ),
FILTER ( 'Table', [Sum1] >= 0 && [Sum1] <= 20 )
)
VAR _2140 =
CALCULATE (
DISTINCTCOUNT ( 'Table'[Name] ),
FILTER ( 'Table', [Sum1] >= 21 && [Sum1] <= 40 )
)
VAR _4160 =
CALCULATE (
DISTINCTCOUNT ( 'Table'[Name] ),
FILTER ( 'Table', [Sum1] >= 41 && [Sum1] <= 60 )
)
VAR _60 =
CALCULATE ( DISTINCTCOUNT ( 'Table'[Name] ), FILTER ( 'Table', [Sum1] >= 60 ) )
RETURN
SWITCH (
MAX ( 'Category'[Category] ),
"0-20", IF ( ISBLANK ( _020 ), 0, _020 ),
"21-40", IF ( ISBLANK ( _2140 ), 0, _2140 ),
"41-60", IF ( ISBLANK ( _4160 ), 0, _4160 ),
"61+", IF ( ISBLANK ( _60 ), 0, _60 )
)
3.Cree una matriz de la siguiente manera.
4. Puede filtrar por fecha a través de la segmentación de fecha.
Puede consultar más detalles desde aquí.
Saludos
Stephen Tao
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@amitdarak - Cree una columna calculada como esta:
Column =
SWITCH(TRUE(),
[Sum]<=20,"0-20",
[Sum]>20 && [Sum]<=40,"21-40",
[Sum]>40 && [Sum]<=60,"41-60",
"61+"
)
@amitdarak ¿Puedes ser más específico?
@amitdarak , referirse a estos
https://www.daxpatterns.com/dynamic-segmentation/
https://www.daxpatterns.com/static-segmentation/
https://www.poweredsolutions.co/2020/01/11/dax-vs-power-query-static-segmentation-in-power-bi-dax-po...
https://radacad.com/grouping-and-binning-step-towards-better-data-visualization
https://radacad.com/dynamic-banding-or-grouping-in-power-bi-using-dax-measures-choose-the-size-of-bi...
https://www.credera.com/blog/technology-solutions/creating-aging-report-using-a-user-selected-date-i...
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |