1

我的 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])) 相同的结果......

有什么想法是错误的吗?

谢谢

瑞克

4

0 回答 0