Sql server 平行周期和简单移动平均线的问题

Sql server 平行周期和简单移动平均线的问题,sql-server,ssas,mdx,Sql Server,Ssas,Mdx,我试图计算我正在检查的数据集之前一年的简单移动平均数 我有以下查询,从2016年第35周开始(201635)为2016 5a,2016 5b,2016 1学期开始的学生提供SMA WITH MEMBER [Measures].[LY Enrolments 10 Week SMA] AS ( [Measures].[Enrolments 10 Week SMA] ,ParallelPeriod ( [Term Record Crea

我试图计算我正在检查的数据集之前一年的简单移动平均数

我有以下查询,从2016年第35周开始(
201635
)为2016 5a,
2016 5b
2016 1
学期开始的学生提供SMA

WITH 
  MEMBER [Measures].[LY Enrolments 10 Week SMA] AS 
    (
      [Measures].[Enrolments 10 Week SMA]
     ,ParallelPeriod
      (
        [Term Record Creation].[ISO Week Calendar].[ISO Year]
       ,1
       ,[Term Record Creation].[ISO Week Calendar].[ISO Week].&[201535]
      )
    ) 
SELECT 
  NON EMPTY 
    {
      [Measures].[Enrolments]
     ,[Measures].[Enrolments 10 Week SMA]
     ,[Measures].[LY Enrolments 10 Week SMA]
    } ON COLUMNS
 ,NON EMPTY 
    {
      [Term Enrolments].[Terms].[Term Hierarchy].&[2016]&[5a]
     ,[Term Enrolments].[Terms].[Term Hierarchy].&[2016]&[5b]
     ,[Term Enrolments].[Terms].[Term Hierarchy].&[2017]&[1]
    } ON ROWS
FROM [Enrolments]
WHERE 
  (
    [Term Enrolments].[Cancelled].&[No]
   ,[Term Record Creation].[ISO Week Calendar].[ISO Week].&[201635]
  );
我还想将2015年第35周的SMA放在旁边,用于术语
2015 5a
2015 5b
2016 1
。这是我试图在成员计算中得到的结果,但什么都没有发生

如何比较不同年份的SMA?如何与一年前的
术语层次结构的成员进行比较


提前感谢您的帮助。

请尝试更改此
[Term Record Creation].[ISO Week Calendar].[ISO Week].[ISO Week].&[201535]
以获取此
[Term Record Creation].[ISO Week Calendar].CURRENTMEMBER

希望
CURRENTMEMBER
函数将选择
WHERE
子句中指定的一周。我将尝试测试AdvWrks作为一个有点不确定

WITH 
  MEMBER [Measures].[LY Enrolments 10 Week SMA] AS 
    (
      [Measures].[Enrolments 10 Week SMA]
     ,ParallelPeriod
      (
        [Term Record Creation].[ISO Week Calendar].[ISO Year]
       ,1
       ,[Term Record Creation].[ISO Week Calendar].CURRENTMEMBER
      )
    ) 
SELECT 
  NON EMPTY 
    {
      [Measures].[Enrolments]
     ,[Measures].[Enrolments 10 Week SMA]
     ,[Measures].[LY Enrolments 10 Week SMA]
    } ON COLUMNS
 ,NON EMPTY 
    {
      [Term Enrolments].[Terms].[Term Hierarchy].&[2016]&[5a]
     ,[Term Enrolments].[Terms].[Term Hierarchy].&[2016]&[5b]
     ,[Term Enrolments].[Terms].[Term Hierarchy].&[2017]&[1]
    } ON ROWS
FROM [Enrolments]
WHERE 
  (
    [Term Enrolments].[Cancelled].&[No]
   ,[Term Record Creation].[ISO Week Calendar].[ISO Week].&[201635]
  );
经过测试,这对我来说很好:

WITH 
  MEMBER [Measures].[Internet Sales Amount LY] AS 
    (
      [Measures].[Internet Sales Amount]
     ,[Date].[Calendar Weeks].[Calendar Week].&[27]&[2007]
    ) 
  MEMBER [Measures].[Internet Sales Amount LY2] AS 
    (
      [Measures].[Internet Sales Amount]
     ,ParallelPeriod
      (
        [Date].[Calendar Weeks].[Calendar Year]
       ,1
       ,[Date].[Calendar Weeks].CurrentMember
      )
    ) 
SELECT 
  NON EMPTY 
    {
      [Measures].[Internet Sales Amount LY]
     ,[Measures].[Internet Sales Amount LY2]
     ,[Measures].[Internet Sales Amount]
    } ON COLUMNS
 ,NON EMPTY 
    {
      [Product].[Product Categories].[Category].[Accessories]
     ,[Product].[Product Categories].[Category].[Bikes]
     ,[Product].[Product Categories].[Category].[Clothing]
    } ON ROWS
FROM [Adventure Works]
WHERE 
  [Date].[Calendar Weeks].[Calendar Week].&[27]&[2008];
结果如下:


不幸的是,这并没有解决我的问题。我的SMA度量仍然没有结果列。