繁体   English   中英

使用CurrentMember的MDX查询中的ParallelPeriod

[英]ParallelPeriod in MDX Query with CurrentMember

我试图根据今年忙碌的那一年我们注册了多少学生来预测我的组织需要预订的房间数量。

该问题的第一部分是计算今年与去年相比,学生人数的相对减少/增加,并使用其来推断今年的学生人数。

为此,我尝试测量以下内容:

  1. 一年中前几周的入学总数,直到开始日期为止,例如,2016年的1,2,3 ...周中有多少学生在给定年份的10月到12月间来
  2. 计算前几年学生人数增加/减少的百分比

我有以下查询:

WITH MEMBER [Measures].[Period Growth] AS
(
    [Measures].[Enrolments By Week],
    ParallelPeriod([Weekly Enrolments Date].[ISO Week Calendar].[ISO Year],
        1,
        [Weekly Enrolments Date].[ISO Week Calendar].[ISO Week].currentmember)
)
SELECT NON EMPTY { [Measures].[Enrolments By Week], [Measures].[Period Growth] } ON COLUMNS, 
 NON EMPTY { FILTER([Weekly Enrolments Date].[ISO Week Calendar].[ISO Week].&[201738] : 
                    [Weekly Enrolments Date].[ISO Week Calendar].[ISO Week].&[201752],
        Cint([Term Record Creation].[ISO Week Number Of Year].CurrentMember.Member_Key) <= 10 --Cint( STRTOMEMBER(@ToISOWeekNumberOfYear, CONSTRAINED).Member_Key )
        OR
        Cint([Term Record Creation].[ISO Year].CurrentMember.Member_key) < 
        Cint([Term Start Date].[ISO Year].CurrentMember.Member_key)) } ON ROWS 
 FROM [Enrolments] 

但是,我得到#Error计算成员当我设置的成员表达ParallelPeriodCurrentMember 如果我将CurrentMember更改为.&[201642]之类的值,该错误消失-为什么会这样? 如何获得上一年的同一周作为本年度每一周的比较?

另外,如何避免相对于上一年的同一周的每周百分比变化,同时避免被0除以错误?

对我来说,这看起来像一个水平:

[Weekly Enrolments Date].[ISO Week Calendar].[ISO Week]

所以是的,这是有效的,并且不会出现错误:

[Weekly Enrolments Date].[ISO Week Calendar].[ISO Week].&[201642]

但是我不认为CURRENTMEMBER函数可以应用于关卡表达式-如果您CURRENTMEMBER为以下内容,可能会更高兴:

[Weekly Enrolments Date].[ISO Week Calendar].currentmember

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM