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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
jdwalker5
Helper II
Helper II

Rolling 4 Week Total

Hello,

 

I'm trying to get a rolling 4 week total for each row in a summarized table.  Example below with expected result.

WeekItemTotalRolling 4 Week Total
8A550
7A1070
6A1590
5A20110
4A25130
3A30105
2A3575
1A4040

 

The 'Rolling 4 Week Total' column should sum the 'Total' column of the last 4 weeks.  For example, for week 8 the rolling 4 week total is a sum of 5, 10, 15, 20.

Hope I'm explaining that well enough, but let me know if more info is needed.

1 ACCEPTED SOLUTION
ThxAlot
Super User
Super User

ThxAlot_0-1712385720529.png



Expertise = List.Accumulate(


        {Days as from Today},


        {Skills and Knowledge},


        (Current, Everyday) => Current & Day.LearnAndPractise(Everyday)


)



View solution in original post

6 REPLIES 6
Anonymous
Not applicable

Hi @jdwalker5 

 

@amitchandak  @ThxAlot Thank you very much for your prompt reply. Here please allow me to post some of my methods.

 

For your question, here is the method I provided:

 

Here's some dummy data

 

“Table”

vnuocmsft_0-1712558887889.png

 

Create a measure.

 

 

Rolling 4 Week Total = 
    CALCULATE(
        SUM('Table'[Total]), 
        FILTER(
            ALL('Table'), 
            'Table'[Week] > MAX('Table'[Week]) - 4 
            && 
            'Table'[Week] <= MAX('Table'[Week])
        )
    )

 

 

 Here is the result.

vnuocmsft_1-1712558940413.png

Regards,

Nono Chen

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

@Anonymous ,

Thanks for the reply! I ended up bringing in a separate dataset where I used a SQL window function to get the result I needed, but this looks like it would work.  Appreciate you looking into this!

ThxAlot
Super User
Super User

ThxAlot_0-1712385720529.png



Expertise = List.Accumulate(


        {Days as from Today},


        {Skills and Knowledge},


        (Current, Everyday) => Current & Day.LearnAndPractise(Everyday)


)



Thanks @ThxAlot!  I didn't realize window functions were available in DAX, but that is really good to know.  I played around with it some, but couldn't quite get it to work.  That's probably on me for missing something in the syntax.  I ended up using a SQL window function and brought in a new dataset.  Thanks again for your reply!

amitchandak
Super User
Super User

@jdwalker5 , Prefer to have a separate table with Week on Year week depending on the data. If this year's week creates a rank column, for only week you use week in place of week rank

 

 

Week Rank = RANKX('Date','Date'[Week Start date],,ASC,Dense)
OR
Week Rank = RANKX('Date','Date'[Year Week],,ASC,Dense) //YYYYWW format

 

Last 4 weeks = CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]>=max('Date'[Week Rank])-4 && 'Date'[Week Rank]<=max('Date'[Week Rank])))

 

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Thanks @amitchandak ,  I did not have a chance to try your solution out, but it looks like it probably would have worked.  I ended up pulling in a new dataset and used a SQL window function, but I appreciate you taking the time to respond!

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors