[英]ParallelPeriod in MDX Query with CurrentMember
我试图根据今年忙碌的那一年我们注册了多少学生来预测我的组织需要预订的房间数量。
该问题的第一部分是计算今年与去年相比,学生人数的相对减少/增加,并使用其来推断今年的学生人数。
为此,我尝试测量以下内容:
我有以下查询:
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
计算成员当我设置的成员表达ParallelPeriod
为CurrentMember
。 如果我将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.