You can create calculated fields that will "bucket" your revenue into these totals:
[YTD Revenue] = if datetrunc('year', [date]) = datetrunc('year', today()) and [date] <= today() then [Revenue] end
[MTD Revenue] = if datetrunc('month', [date]) = datetrunc('month', today()) and [date] <= today() then [Revenue] end
You are saying that I shouldn't be filtering, but should be instead creating calculated fields, right?
Correct. The one drawback to this is when anyone looks at underlying data they will see ALL revenue since again it is not being filtered :-( You might be able to come up with a hybrid and filter the year along with using the monthly bucketed value.