MainTable::Month = MainTableSameMonth::Month
MainTableSamemonth is a second table occurrence of MainTable.
Define a calculation field in MainTable as:
Average ( MainTableSameMonth::FieldTobeAveraged )
This assumes that the month field is either the month number or the month name. Either should work here. You can't use my personal favorite (learned from a post by Comment) for a month calculation: DateField - Day (DateField) + 1 as this produces a date for the first day of each month and that value will be different for each year.
I was really racking my brain over this, and you come up with an answer as easy as pie. It works, even with filtering the report!