mdx スクリプトに問題があります。SUM 関数を使用して 2 つのセットを集計しようとしています。
基本的に、日付範囲ウィンドウを提供する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) の値をハードコーディングすると、正しく集計されますが、
計算されたメンバーに実際に145の値が含まれていても、使用する[Date].[Retail Calendar].[Retail Week].Item([Measures].[EndingWeekLY]))
と機能しません([Measures].[EndingWeekLY])
。代わりに、レベル全体が集約されました...
これまでのところ、StrToMember、strToTuple、StrToSet 関数を試しましたが、明示的に int (CInt(([Measures].[EndingWeekLY])) にキャストしようとしました...
hekが間違っていることについて何か考えはありますか?
ありがとう
リック