I have a similar issue today! I was told by my developer the only way around this is by using parameters. As a global filter filters the data at source connection
Parameters are definately the easiest and most flexible option.
Let's call the parameter ReportDate.
Let's also call your measure (the one you want totaled) Sales, and your record date measure SaleDate.
You can create two calculated fields MTD and YTD.
MTD = IF str(month([SaleDate]))+'-'+str(year([SaleDate])) = str(month([ReportDate]))+'-'+str(year([ReportDate])) THEN [Sales] ELSE 0 END
YTD = IF str(year([SaleDate])) = str(year([ReportDate])) THEN [Sales] ELSE 0 END
You can then pull those two fields in (MTD and YTD) where you formerly pulled [Sales]. This allows you to view MTD and YTD on the same row/table.
You can also use your parameters to filter other worksheets (in place of the global filters). If you need help with this, let me know.