我的 mdx 脚本有问题,我正在尝试使用 SUM 函数聚合两组
基本上,我有 2 个计算成员,它们会给我我的日期范围窗口
mdx 脚本中的成员如下:
CREATE MEMBER CURRENTCUBE.[Measures].[NumberOfWeeksInPeriodLY] AS
COUNT(DESCENDANTS([Date].[Retail Calendar].CurrentMember.Lag(2),3),INCLUDEEMPTY)-1;
// This one will give me 15
CREATE MEMBER CURRENTCUBE.[Measures].[StartingWeekLY] AS
(DESCENDANTS([Date].[Retail Calendar].CurrentMember.Lag(2),3)).Item(0).Member_Key;
//This one will give me 130;
CREATE MEMBER CURRENTCUBE.[Measures].[EndingWeekLY] AS
Cint([Measures].[StartingWeekLY]+[Measures].[NumberOfWeeksInPeriodLY]); //This will give me 145
我试图做的是:
在 MDX 脚本中我有:
SCOPE([Date].[Retail Calendar].[Retail Semester].MEMBERS);
[Date Analysis - Retail Calendar].[Test53Weeks] =
SUM(
{
(
DESCENDANTS
(
[Date].[Retail Calendar].CurrentMember,3
)
.Item(1).Lag(53)
)
:
[Date].[Retail Calendar].[Retail Week].**Item([Measures].[EndingWeekLY]))**
}
,[Date Analysis - Retail Calendar].[Current Time Period]
);
END SCOPE;
如果我对 [Date].[Retail Calendar].[Retail Week].Item(145) 上的值进行硬编码,它可以工作,但是我得到了正确的聚合,
如果我使用[Date].[Retail Calendar].[Retail Week].Item([Measures].[EndingWeekLY]))
它不起作用,即使计算出的成员([Measures].[EndingWeekLY])
确实包含 145 的值,我反而得到了整个级别的聚合......
到目前为止,我已经尝试过 StrToMember、strToTuple、StrToSet 函数,我也尝试过明确地转换为 int (CInt(([Measures].[EndingWeekLY])) 相同的结果......
有什么想法是错误的吗?
谢谢
瑞克