MDX ParallelPeriod,显示实际日期

MDX ParallelPeriod, show the actual date

我用ParallelPeriod。像这样显示去年的一些措施效果很好:

member [Measures].[ParallelPeriodLastYear1] As
 ( 
     [Measures].[MeasureSomething] 
   , ParallelPeriod( 
        [DimBookingDate].[Year -  Month -  Date].[Year]
       , 1 
     ) 
 )

但我还想 return 作为字段 ParallelPeriod 的实际结果,这是去年的日期。因此,如果我当前的 DimBookingDate 成员是 2016-03-01,我想获得一个告诉 2015-03-01 的字段。我该怎么做?

这会产生一个错误:

member [Measures].[ParallelPeriodLastYear1] As
  ( 
        [DimBookingDate].[Year -  Month -  Date].[Date].currentmember 
      , ParallelPeriod( 
          [DimBookingDate].[Year -  Month -  Date].[Year]
         ,1 
        ) 
  )

这会产生 Null:

member [Measures].[ParallelPeriodLastYear1] As
   ParallelPeriod( [DimBookingDate].[Year -  Month -  Date].[Year],1 ) 

根据定义 Parallelperiod returns a member 所以你应该能够 return 它的标题作为衡量标准:

member [Measures].[ParallelPeriodLastYear1] As
   ParallelPeriod( 
       [DimBookingDate].[Year -  Month -  Date].[Year]
      ,1 
   ).item(0).member_caption 

函数的定义及其 return 类型在这里:
https://msdn.microsoft.com/en-us/library/ms145500.aspx