I have this in place in the model I am currently working with. Here are basics of how I have accomplished it:
(Assumes there is a time dimension, and it contains certain expected keys for all levels of Time)
1. Physical Layer - import the Time Dimension table (DataSource query)
2. Development Layer - Build Time Dimensions (Model Query) for each role necessary
3. Development Layer - Using the Time Dim model query for each desired Role, create Model Filters for the desired Relative Dates. (As BLOM alluded, some are easier than others. For Quarter, I simply used large CASE statement for determining correct 4 prior quarters) The key to these filters to make it relative to today, using the Current_Date variable, in combination with the extract() function.
4. Dimensional Layer - Create Regular Dimensions for all desired Relative Time. Use the appropriate Model Filter in the Regular Dimension's filters tab
Note: In modeling the regular dimensions for a single value, for like Month (MTD) or Year (YTD), your highest level is different than usual. I will add the highest level with the same name as the Dimension, so like "Current YTD" and the source for its _memberCaption property is 'YTD - ' + [Development Layer].[Opened Date Dimension].[Opened_Date_Dim_Year_char] and the _businessKey is simply 'YTD' (this way the MUN is always consistent) This can be done for any Regular Dimension where a specific MUN may be desired.
(CAVEAT ALERT) These model filters will work only if the dimension is in the report object. Context Filter only will not invoke use of the filter, so drag the "All" member into the report as an Outer Edge.
It just takes a little grunt-work, but in the end you will have decent replica of your relative time, and please note, they will not be alternate drill-downs in DMR, just separate dimensions. You can give the allusion of Alternate drill paths by using folders, and grouping all "Open Date" regular dimensions in there.
HTH.... M