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

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.

Reply
Syndicate_Admin
Administrator
Administrator

Gráfico de líneas y columnas con 2 líneas de valor acumuladas, una por año

Hola

Estoy usando dos tablas: F_AMOUNTS y F_KPIS
F_AMOUNTS tiene las siguientes columnas: MES, GRUPO y AMOUNT
Para cada mes y para cada grupo, la tabla cuenta una cantidad. Un mes se refiere al último día del mes.

F_AMOUNTS.png
F_KPIS tiene las siguientes columnas: Año, GRUPO y KPI
Para cada año y para cada grupo, la tabla cuenta un importe de KPI. Un año se refiere a por el último día del año.

F_KPIS.png

Agregué las siguientes 4 columnas a F_AMOUNTS:

Mes Abreviation - FORMAT(F_AMOUNTS[MONTH];" MMM") La abriviación del mes se ordena por orden de mes
Orden del mes : MES(F_AMOUNTS[MES])
Año ( año(F_AMOUNTS[MES])

Mes de KPI - DIVIDE( LOOKUPVALUE(F_KPIS[KPI]; F_KPIS[Year]; FECHA(Año(F_AMOUNTS[MES]);12;31); F_KPIS [GRUPO]; F_AMOUNTS[GRUPO]); 12)

Para cada mes calculo el importe acumulativo por separado por grupo y por año, utilizando esta medida:

Importe acumulado ? CALCULATE( SUM(F_AMOUNT[AMOUNT]); FILTRO( ALLSELECTED(F_AMOUNT); F_AMOUNT[MES] <- MAX(F_AMOUNT[MONTH]) && F_AMOUNT[GRUPO] - MAX(F_AMOUNT[GROUP]) && YEAR(F_AMOUNT[MONTH]) - YEAR(MAX(F_AMOUNT[MONTH])) ) )


También calculo para cada mes el KPI acumulativo por separado por grupo y por año, utilizando esta medida:

KPI acumulados ? CALCULATE( SUM(F_AMOUNTS[KPI MONTH]); FILTRO( ALLSELECTED(F_AMOUNTS); F_AMOUNTS[MES] <- MAX(F_AMOUNTS[MONTH]) && F_AMOUNTS[GRUPO] - MAX(F_AMOUNTS[GROUP]) && YEAR(F_AMOUNTS[MONTH]) - YEAR(MAX(F_AMOUNTS[MONTH])) ) )

MesGrupo Importe acumulado KPI acumulado
31/01/2019 A240167
28/02/2019 A446333
31/03/2019 A574500
30/04/2019 A661667
31/05/2019 A777833
30/06/2019 A8481000
31/07/2019 A10511167
31/08/2019 A12051333
30/09/2019 A14421500
31/10/2019 A16811667
30/11/2019 A19241833
31/12/2019 A21442000
31/01/2020 A250200
29/02/2020 A463400
31/03/2020 A706600
30/04/2020 A881800
31/05/2020 A11671000
30/06/2020 A12691200
31/07/2020 A14931400
31/08/2020 A17671600
30/09/2020 A18971800
31/10/2020 A20742000
30/11/2020 A21372200
31/12/2020 A22712400
31/01/2019 B136150
28/02/2019 B263300
31/03/2019 B376450
30/04/2019 B557600
31/05/2019 B656750
30/06/2019 B940900
31/07/2019 B11881050
31/08/2019 B14191200
30/09/2019 B15781350
31/10/2019 B16651500
30/11/2019 B18641650
31/12/2019 B20261800
31/01/2020 B138175
29/02/2020 B250350
31/03/2020 B358525
30/04/2020 B546700
31/05/2020 B800875
30/06/2020 B8711050
31/07/2020 B11141225
31/08/2020 B12681400
30/09/2020 B13551575
31/10/2020 B15411750
30/11/2020 B16491925
31/12/2020 B18152100

Estoy usando un gráfico de líneas y columnas agrupadas con Mes Abreviation en eje compartido, serie de columnas Año, valores de columna Importe acumulado y valores de línea KPI acumulados.

Si agrego una segmentación en GROUP en select a entonces obtengo este resultado:

cumm_A_Line 1.png

Pero me gustaría tener dos líneas: una para el KPI acumulado sobre 2019 y otra para él acumuló KPI sobre 2020 ya que también tengo el importe acumulado para 2019 y para 2020 en las columnas

Algo como esto:

cumm_A_Line 2.png

¿Alguien tiene una idea de cómo hacer esto?

Gracias

R.W.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @RudyWelvaert,

El campo 'Serie de columnas' solo se aplica a las columnas, no a las líneas. Por lo tanto, es posible que deba crear medidas para cada año para calcular:

2019 Cumulated KPI = 
CALCULATE (
    SUM ( 'F_AMOUNTS'[KPI Month] ),
    FILTER (
        ALL ( F_AMOUNTS ),
        MONTH ( 'F_AMOUNTS'[MONTH] ) <= MONTH ( MAX ( 'F_AMOUNTS'[MONTH] ) )
            && YEAR ( 'F_AMOUNTS'[MONTH] ) = 2019
            && 'F_AMOUNTS'[GROUP] IN DISTINCT ( 'F_AMOUNTS'[GROUP] )
    )
)
2020 Cumulated KPI = 
CALCULATE (
    SUM ( 'F_AMOUNTS'[KPI Month] ),
    FILTER (
        ALL ( F_AMOUNTS ),
        MONTH ( 'F_AMOUNTS'[MONTH] ) <= MONTH ( MAX ( 'F_AMOUNTS'[MONTH] ) )
            && YEAR ( 'F_AMOUNTS'[MONTH] ) = 2020
            && 'F_AMOUNTS'[GROUP] IN DISTINCT ( 'F_AMOUNTS'[GROUP] )
    )
)

re.png

Adjunto un archivo de muestra en el siguiente, espera ayudarle.

Saludos
Equipo de apoyo a la comunidad _ Yingjie Li
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola @v-yingjl

Gracias por esta solución.
Pero también tuve que reescribir mis otras medidas en el mismo estilo:

2019 Cumulated Amount = 
CALCULATE (
    SUM ( 'F_AMOUNTS'[Amount] ),
    FILTER (
        ALL ( F_AMOUNTS ),
        MONTH ( 'F_AMOUNTS'[MONTH] ) <= MONTH ( MAX ( 'F_AMOUNTS'[MONTH] ) )
            && YEAR ( 'F_AMOUNTS'[MONTH] ) = 2019
            && 'F_AMOUNTS'[GROUP] IN DISTINCT ( 'F_AMOUNTS'[GROUP] )
    )
)

2020 Cumulated Amount = 
CALCULATE (
    SUM ( 'F_AMOUNTS'[Amount] ),
    FILTER (
        ALL ( F_AMOUNTS ),
        MONTH ( 'F_AMOUNTS'[MONTH] ) <= MONTH ( MAX ( 'F_AMOUNTS'[MONTH] ) )
            && YEAR ( 'F_AMOUNTS'[MONTH] ) = 2020
            && 'F_AMOUNTS'[GROUP] IN DISTINCT ( 'F_AMOUNTS'[GROUP] )
    )
)

Y tuve que dejar el año del valor de la leyenda.
Así que tengo dos medidas para las columnas en dos medidas para las líneas.

R.W.

Syndicate_Admin
Administrator
Administrator

No @RudyWelvaert,

El campo 'Serie de columnas' solo se aplica a las columnas, no a las líneas. Por lo tanto, es posible que deba crear medidas para cada año para calcular:

2019 Cumulated KPI = 
CALCULATE (
    SUM ( 'F_AMOUNTS'[KPI Month] ),
    FILTER (
        ALL ( F_AMOUNTS ),
        MONTH ( 'F_AMOUNTS'[MONTH] ) <= MONTH ( MAX ( 'F_AMOUNTS'[MONTH] ) )
            && YEAR ( 'F_AMOUNTS'[MONTH] ) = 2019
            && 'F_AMOUNTS'[GROUP] IN DISTINCT ( 'F_AMOUNTS'[GROUP] )
    )
)
2020 Cumulated KPI = 
CALCULATE (
    SUM ( 'F_AMOUNTS'[KPI Month] ),
    FILTER (
        ALL ( F_AMOUNTS ),
        MONTH ( 'F_AMOUNTS'[MONTH] ) <= MONTH ( MAX ( 'F_AMOUNTS'[MONTH] ) )
            && YEAR ( 'F_AMOUNTS'[MONTH] ) = 2020
            && 'F_AMOUNTS'[GROUP] IN DISTINCT ( 'F_AMOUNTS'[GROUP] )
    )
)

re.png

Adjunto un archivo de muestra en el siguiente, espera ayudarle.

Saludos
Equipo de apoyo a la comunidad _ Yingjie Li
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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