SSAS中的计算成员基于自定义上一年度日期(零售日历)

时间:2016-09-15 07:20:06

标签: ssas mdx calculated-columns

我花了很多时间来解决这个问题,但还没有成功。

我有一个名为[Dim Date]的日期维度,在此表格中我有一个[日期密钥],其中包含来自' 2013-07-01'的所有日期。到2016-12-31'。我还有一个名为[Retail Revenue]的度量,它是该日期的十进制数。到目前为止很容易!

我们是零售日历,我们所有的计算/比较都基于零售日历(DW中的自定义表格)。

此日历中的日期层次结构如下(请参阅屏幕截图):

- 零售年度(例如2017年)

----零售半年(例如2017-H1)

------零售季度(例如2017年第一季度)

<----> --------零售月(例如201702)(201701年至2017年12月)

----------零售周(例如201708)(201701至201752周)

------------日期密钥(例如2016-08-22)

SCREENSHOT

我们还有一个名为&#34;零售去年日期&#34;它显示了上次日历日期的等效日期(例如截图中的2015-08-24)。

我需要有一个计算成员显示&#34;零售收入&#34;去年(根据属性&#34;去年零售日期和#34;),在常规&#34;零售收入&#34;旁边;对于[日期键]。

我尝试使用ParallelPeriod和Scope,但无法正确获取数字。可能是一个简单的任务,但不幸的是我不是mdx中的英雄!

如果有人能帮助我解决这个问题,那将非常感谢。

由于 REZ

2 个答案:

答案 0 :(得分:0)

希望这有帮助。

这是针对AdvWrks的。我创建了一个查询范围的自定义度量,它可以获得前一年的互联网销售额:

WITH 
  MEMBER [Measures].[Internet Sales Amount LastYear] AS 
    (
      ParallelPeriod
      (
        [Date].[Calendar].[Calendar Year]
       ,1
       ,[Date].[Calendar].CurrentMember
      )
     ,[Measures].[Internet Sales Amount]
    ) 
SELECT 
  {
    [Measures].[Internet Sales Amount]
   ,[Measures].[Internet Sales Amount LastYear]
  } ON 0
 ,
    [Date].[Calendar].[Date].&[20070121]
  : 
    [Date].[Calendar].[Date].&[20070127] ON 1
FROM [Adventure Works];

结果如下:

enter image description here

答案 1 :(得分:0)

感谢您的回复,但我还没有得到它如何使用维度属性?因为我的日历是自定义的,我不能假设去年的日历日期与今年相同。我必须从维度属性&#34;零售去年日期&#34;)中阅读它。

由于