Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hola
Quiero ver qué objetos tienen datos para un período determinado. Luego quiero ver el cambio porcentual en el total y también ver que hay muchos objetos que aumentan o disminuyen de valor o no cambian. Los datos se ven así y mi salida preferida. Mostraré esto en Powerbi con tal vez una matriz y algunos gráficos y tarjetas. ¿Alguna sugerencia sobre cómo resolver esto? He mirado tanto youtube como chatgtp sin suerte. (En las tablas que quiero necesito los objetos, solo las sumas, solo están ahí para mostrar cómo pienso, pero un desglose podría ser bueno si alguien quiere echarle un vistazo más profundo).
¡Bien!
Periodo | Objeto | Valor | ||||
2023 | 22 | 90 | ||||
2023 | 23 | 85 | ||||
2023 | 24 | 70 | ||||
2023 | 25 | 65 | ||||
2023 | 26 | 40 | ||||
2022 | 22 | 95 | ||||
2022 | 23 | 92 | ||||
2022 | 24 | 75 | ||||
2022 | 25 | 70 | ||||
2022 | 26 | 45 | ||||
2021 | 22 | 97 | ||||
2021 | 23 | 92 | ||||
2021 | 24 | 74 | ||||
2021 | 27 | 78 | ||||
2020 | 22 | 94 | ||||
2020 | 23 | 90 | ||||
2020 | 25 | 75 | ||||
¿Cuántos están representados en todos los períodos? | 2 | |||||
Objeto/Año | 2023 | 2022 | 2021 | 2020 | ||
22 | 90 | 95 | 97 | 94 | ||
23 | 85 | 92 | 92 | 90 | ||
Suma | 175 | 187 | 189 | 184 | ||
Cambio | -6,42 % | -1,06 % | 2,72 % | |||
¿Cuántos se repiten en los 3 últimos períodos? | ||||||
3 | ||||||
Objeto/Año | 2023 | 2022 | 2021 | |||
22 | 90 | 95 | 97 | |||
23 | 85 | 90 | 92 | |||
24 | 70 | 75 | 74 | |||
Suma | 245 | 260 | 263 | |||
Cambio | -5,77 % | -1,14 % | ||||
Objeto/Año | 2023 | 2022 | 2021 | 2020 | ||
22 | Abajo | Abajo | Hacia arriba | Sin cambios | ||
23 | Abajo | Sin cambios | Hacia arriba | Sin cambios | ||
Sin cambios | 0 | 1 | 0 | 2 | ||
Hacia arriba | 0 | 0 | 2 | 0 | ||
Abajo | 2 | 1 | 0 | 0 | ||
¿Cuántos se repiten en los 3 últimos períodos? | ||||||
3 | ||||||
Objeto/Año | 2023 | 2022 | 2021 | |||
22 | Abajo | Abajo | Sin cambios | |||
23 | Abajo | Sin cambios | Sin cambios | |||
24 | Abajo | Hacia arriba | Sin cambios | |||
Sin cambios | 0 | 1 | 3 | |||
Hacia arriba | 0 | 1 | 0 | |||
Abajo | 3 | 1 | 0 | |||
Hola @nor303 ,
Creo que puede probar el código como se muestra a continuación para usar la tabla virtual en su medida para lograr su objetivo.
Measure =
VAR _Generate =
ADDCOLUMNS (
GENERATE ( ALLSELECTED('DimObject & Calculation'), ALLSELECTED(DimPerioder[Periode])),
"Result",
CALCULATE (
SUM ( 'Table'[Value] ),
FILTER (
'Table',
'Table'[Object] = EARLIER ( [Object] )
&& 'Table'[Periode] = EARLIER ( [Periode] )
)
) + 0
)
VAR _Step1 =
ADDCOLUMNS (
_Generate,
"Product", PRODUCTX ( FILTER ( _Generate, [Object] = EARLIER ( [Object] ) ), [Result] )
)
VAR _Step2 =
FILTER ( _Step1, [Product] <> 0 || [Object] IN { "Sum", "Change" } )
VAR _Step3 =
ADDCOLUMNS (
_Step2,
"Final",
SWITCH (
[Object],
"Sum", SUMX ( FILTER ( _Step2, [Periode] = EARLIER ( [Periode] ) ), [Result] ),
"Change",
VAR _LastPeriod =
SUMX ( FILTER ( _Step2, [Periode] = EARLIER ( [Periode] ) - 1 ), [Result] )
VAR _Current =
SUMX ( FILTER ( _Step2, [Periode] = EARLIER ( [Periode] ) ), [Result] )
RETURN
DIVIDE ( _Current - _LastPeriod, _LastPeriod ),
[Result]
)
)
RETURN
SUMX(FILTER(_Step3,[Object] = MAX('DimObject & Calculation'[Object]) && [Periode] = MAX(DimPerioder[Periode])),[Final])
Formato dinámico:
IF(MAX('DimObject & Calculation'[Object]) = "Change","0.00%;-0.00%;0.00%","0")
El resultado es el siguiente.
Puede descargar mi archivo de muestra para obtener más detalles.
Saludos
Rico Zhou
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.