2016-09-16 91 views
0

我们在我们的立方体中有一个相对日期维度,其成员值为This YearLast Year作为示例。如何通过MDX中的维度显示去年的价值?

用户在销售栏上使用此设置,以便他们可以查看今年和去年同期的销售情况。

问题出现在他们使用Calendar Date过滤器仅选择本月的值时。如果用户仅选择本月,则“去年”成员消失。

有没有一种方法(或许可以用范围语句),我可以告诉SSAS:如果用户正在使用这些属性,并且他们选择了特定的月份(或其他级别),则使用ParallelPeriod隐式地包含相同的成员去年是否可以看到去年的销售额?

如果没有,没有使用计算的成员(我有很多措施,我不想重复它们),有没有一种方法使用维度来显示去年的价值,即使用户选择今年日期维度?

+0

你可以包括一些MDX,也许电流输出与预期? 否则答案是。是的,你可以用SCOPE做。 – mxix

回答

0

这里有几个选项...

我想补充一个新的计算的成员到现有的维度,我将它添加到的是这样一个伪维度[期间]维度: (我敢肯定,你需要将它添加到现有的层次。我假设[相对时间])

CREATE MEMBER [Time Period].[Relative Time].[Last Year] 
AS NULL 
, VISIBLE=1; 
SCOPE(
    DESCENDTS([Time].[YearMonthDate].[Year].MEMBERS,,AFTER) 
    ,[Time Period].[Relative Time].[Last Year] 
    ); 
    THIS = AGGREGATE(
       PARALLELPERIOD(
        [Time].[YearMonthDate].[Year] 
        ,1 
        ,[Time].[YearMonthDate].CURRENTMEMBER 
       ) 
       ,[Measures].CURRENTMEMBER 
      ); 
END SCOPE;