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!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Looking for advice on how to calculate 3 months rolling average when data are 0 for some months.
I would like to calculate for Full Year but actual data should be used when available.
The first calculation should come in April and use Data for AVERAGE JAN, FEB, MAR
Solved! Go to Solution.
Hi @Anonymous ,
I have created a simple sample, please refer to my pbix file to see if it helps you.
result =
VAR _1 =
EDATE ( MAX ( 'Table'[date] ), -3 )
VAR _year =
YEAR ( _1 )
VAR _month =
MONTH ( _1 )
VAR _date =
DATE ( _year, _month, 1 )
VAR _nowdate =
MAX ( 'Table'[date] )
RETURN
CALCULATE (
AVERAGE ( 'Table'[value] ),
FILTER ( ALL ( 'Table' ), 'Table'[date] >= _date && 'Table'[date] < _nowdate )
)
How to Get Your Question Answered Quickly
If it does not help, please provide more details with your desired output and pbix file without privacy information (or some sample data) .
Best Regards
Community Support Team _ Rongtie
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi,
Try this approach
Measure = sum(Data[Revenue])
Rolling average = averagex(SUMMARIZE(calculatetable(Calendar,datesbetween(calendar[date],minx(all(calendar),calendar[date]),max(calendar[date]))),calendar[year],calendar[month name],"ABCD",[Measure]),[ABCD])
Hope this helps.
Hi,
Try this approach
Measure = sum(Data[Revenue])
Rolling average = averagex(SUMMARIZE(calculatetable(Calendar,datesbetween(calendar[date],minx(all(calendar),calendar[date]),max(calendar[date]))),calendar[year],calendar[month name],"ABCD",[Measure]),[ABCD])
Hope this helps.
Hi @Anonymous ,
I have created a simple sample, please refer to my pbix file to see if it helps you.
result =
VAR _1 =
EDATE ( MAX ( 'Table'[date] ), -3 )
VAR _year =
YEAR ( _1 )
VAR _month =
MONTH ( _1 )
VAR _date =
DATE ( _year, _month, 1 )
VAR _nowdate =
MAX ( 'Table'[date] )
RETURN
CALCULATE (
AVERAGE ( 'Table'[value] ),
FILTER ( ALL ( 'Table' ), 'Table'[date] >= _date && 'Table'[date] < _nowdate )
)
How to Get Your Question Answered Quickly
If it does not help, please provide more details with your desired output and pbix file without privacy information (or some sample data) .
Best Regards
Community Support Team _ Rongtie
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@Anonymous
Can you share some sample data with the desired output to have a clear understanding of your question?
Mention whether you want a calculated column or measure.
You can either paste your data in the reply box or save it in OneDrive, Google Drive, or any other cloud-sharing platform and share the link here.
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 39 | |
| 38 | |
| 38 | |
| 28 | |
| 27 |
| User | Count |
|---|---|
| 124 | |
| 89 | |
| 73 | |
| 66 | |
| 65 |