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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
ClemFandango
Advocate II
Advocate II

Moving annual average by 3 months

Hi there,

I have the following date table by year and month. It includes dates from 2020 and is continually updated.

I am trying to create an additional column called MAA that calculates the rolling average of the 'Monthly Total'  every 3 months, but failing terribly. Any ideas?

 

Any help greatly appreciated

 

YearMonthMonthly Total
2020February56
2020April15
2021March49
2021July72
2021April59
2021December31
2021November97
2021January57
2021October51
2021September64
2021May78
2021June64
2021August24
2021February33
2022September63
2022January33
2022April40
1 ACCEPTED SOLUTION
FreemanZ
Super User
Super User

hi @ClemFandango 

not sure if i fully get you. 

1) add a calculated column like:

Date = 
VAR _month =
SWITCH(
    [month],
    "January", 1,
    "February", 2,
    "March", 3,
    "April", 4,
    "May", 5,
    "June", 6,
    "July", 7,
    "August", 8,
    "September", 9,
    "October", 10,
    "November", 11,
    12
)
RETURN
DATE([Year], _month, 1)

(or do it in Power Query Editor)

 

2) add a calculated column like:

Column = 
AVERAGEX(
    TOPN(
        3,
        FILTER(    
            data,
            data[date]<=EARLIER(data[date])
        ),
        data[date]
    ),
    [Monthly Total]
)

it worked like:

FreemanZ_0-1682593585931.png

View solution in original post

2 REPLIES 2
ClemFandango
Advocate II
Advocate II

This is fantastic @FreemanZ 

 

Big thanks

FreemanZ
Super User
Super User

hi @ClemFandango 

not sure if i fully get you. 

1) add a calculated column like:

Date = 
VAR _month =
SWITCH(
    [month],
    "January", 1,
    "February", 2,
    "March", 3,
    "April", 4,
    "May", 5,
    "June", 6,
    "July", 7,
    "August", 8,
    "September", 9,
    "October", 10,
    "November", 11,
    12
)
RETURN
DATE([Year], _month, 1)

(or do it in Power Query Editor)

 

2) add a calculated column like:

Column = 
AVERAGEX(
    TOPN(
        3,
        FILTER(    
            data,
            data[date]<=EARLIER(data[date])
        ),
        data[date]
    ),
    [Monthly Total]
)

it worked like:

FreemanZ_0-1682593585931.png

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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