Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!View all the Fabric Data Days sessions on demand. View schedule
Hello all,
I'm trying to calculate the average velocity from the previous 3 sprints, so I can then calculate the variance of the current sprint velocity against the average velocity from the prior three sprints.
Here's a trimmed down view of the data I'm working with:
| Sprint name | Complete date | Sprint Velocity |
| ENRL | FY24 Q2 SP09 | 11/29/2023 | 39 |
| ADM | FY24 Q2 SP09 | 11/29/2023 | 17 |
| AAAMT | FY24 Q2 SP09 | 11/29/2023 | 34 |
| ENRL | FY24 Q2 SP10 | 12/13/2023 | 46 |
| ADM | FY24 Q2 SP10 | 12/13/2023 | 8 |
| AAAMT | FY24 Q2 SP10 | 12/13/2023 | 13 |
| ENRL | FY24 Q2 SP11 | 12/27/2023 | 16 |
| ADM | FY24 Q2 SP11 | 12/27/2023 | 19 |
| AAAMT | FY24 Q2 SP11 | 12/27/2023 | 26 |
| ADM | FY24 Q2 SP12 | 1/17/2024 | 27 |
| ENRL | FY24 Q2 SP12 | 1/17/2024 | 13 |
| AAAMT | FY24 Q2 SP12 | 1/17/2024 | 0 |
Here's the approach I've tried, but it's not producing the expected result:
Solved! Go to Solution.
@Benx So like this? PBIX is attached.
Better Rolling Average =
VAR __EndDate = MAX('Table'[DateIndex])
VAR __StartDate = __EndDate - 2
VAR __Table =
SUMMARIZE(
FILTER(ALL('Table'),[DateIndex]>=__StartDate && [DateIndex]<=__EndDate),
'Table'[DateIndex],
"__Value",SUM('Table'[Sprint Velocity])
)
RETURN
AVERAGEX(__Table,[__Value])
@Benx Try this: Better Rolling Average - Microsoft Fabric Community
Thank you @Greg_Deckler ! Unfortunately, I'm having trouble making your solution work, as I'm not always dealing with a stadard period for the rolling avg. I want to dynamically capture the Sprint Velocity from the prior three recorded dates. These may fall over the past 6 weeks, but not always.
I created a DateIndex to assign a number to each distinct date, thinking this would give me what I needed to calcualte the rolling average, without using time intelligence functions. This also has not worked.
This is an example of what I'm trying to acheive.
@Benx So like this? PBIX is attached.
Better Rolling Average =
VAR __EndDate = MAX('Table'[DateIndex])
VAR __StartDate = __EndDate - 2
VAR __Table =
SUMMARIZE(
FILTER(ALL('Table'),[DateIndex]>=__StartDate && [DateIndex]<=__EndDate),
'Table'[DateIndex],
"__Value",SUM('Table'[Sprint Velocity])
)
RETURN
AVERAGEX(__Table,[__Value])
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
| User | Count |
|---|---|
| 17 | |
| 11 | |
| 9 | |
| 5 | |
| 4 |
| User | Count |
|---|---|
| 31 | |
| 25 | |
| 21 | |
| 14 | |
| 12 |