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

Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now

Reply
Syndicate_Admin
Administrator
Administrator

Tener problemas para obtener el cambio mínimo del porcentaje intermensual en un período de 6 meses.

¡Hola!

Mi objetivo es obtener el cambio porcentual mensual mínimo en un período de 6 meses.

Cuando compruebo el cambio de MoM, el resultado se ve bien cuando el contexto del filtro visual es año-mes.

Sin embargo, en el nivel escalar, devuelve 0,0.

blaj_1-1725858200071.png



blaj_0-1725858177870.png



¿Qué estoy haciendo mal?

Minimum MoM % Change = 

var previousperiod = 
    CALCULATE(
        [Sales Amount],
        DATEADD(DATETABLE[Date], -1, MONTH)
    )

var lastperiod =
        [Sales Amount]

var change =
       DIVIDE( lastperiod - previousperiod, previousperiod)

VAR vtable =
    FILTER(
        SUMMARIZE(
            DATETABLE,
            DATETABLE[Month Of Year],
            DATETABLE[Month Offset],
            "mom", change
        ),
            DATETABLE[Month Offset] >= -6 && DATETABLE[Month Offset] <= -1
    )

var minimum = 
    MINX( vtable, change)

RETURN
    minimum

1 ACCEPTED SOLUTION

@zenisekd gracias. Necesito usarlo en un grupo de cálculo, por lo tanto, necesito estar en una medida. Sin embargo, lo acabo de resolver. El DAX a veces me atrapa... Tuve que poner todo en una mesa virtual, ¡y listo! Sospecho que CALCULATE estaba anulando el contexto del fiter fuera de la tabla virtual.

Solución:

blaj_0-1725859477659.png



Max MoM Change = 

VAR vtable =
    FILTER(
        SUMMARIZE(
            DATETABLE,
            DATETABLE[Month Of Year],
            DATETABLE[Month Offset],
            "previousperiod", 
                CALCULATE(
                        [Posted Charges],
                        DATEADD(DATETABLE[Date], -1, MONTH)
                    ),
            "lastperiod",
                [Posted Charges]
        ),
        DATETABLE[Month Offset] >= -6 && DATETABLE[Month Offset] <= -1
    )

var minimum = 
    MINX( vtable, DIVIDE( [lastperiod] - [previousperiod], [previousperiod]))

var maximum = 
    MAXX( vtable, DIVIDE( [lastperiod] - [previousperiod], [previousperiod]))

RETURN
    maximum

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Mi consejo rápido sería probablemente optar por separar el cálculo de una sola línea del cálculo escalar: IF( DISTINCTCOUNT(meses) = 1, "Cálculo mensual", "cálculo deseado de varios meses al mismo tiempo")

De esta forma podrás comprobar los resultados por separado...

@zenisekd gracias. Necesito usarlo en un grupo de cálculo, por lo tanto, necesito estar en una medida. Sin embargo, lo acabo de resolver. El DAX a veces me atrapa... Tuve que poner todo en una mesa virtual, ¡y listo! Sospecho que CALCULATE estaba anulando el contexto del fiter fuera de la tabla virtual.

Solución:

blaj_0-1725859477659.png



Max MoM Change = 

VAR vtable =
    FILTER(
        SUMMARIZE(
            DATETABLE,
            DATETABLE[Month Of Year],
            DATETABLE[Month Offset],
            "previousperiod", 
                CALCULATE(
                        [Posted Charges],
                        DATEADD(DATETABLE[Date], -1, MONTH)
                    ),
            "lastperiod",
                [Posted Charges]
        ),
        DATETABLE[Month Offset] >= -6 && DATETABLE[Month Offset] <= -1
    )

var minimum = 
    MINX( vtable, DIVIDE( [lastperiod] - [previousperiod], [previousperiod]))

var maximum = 
    MAXX( vtable, DIVIDE( [lastperiod] - [previousperiod], [previousperiod]))

RETURN
    maximum

Helpful resources

Announcements
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

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

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

October NL Carousel

Fabric Community Update - October 2024

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

Top Solution Authors