0

私は MDX を初めて使用します。その土曜日のメジャーをその週のデフォルトとして使用するという要件があります。時間ディメンション [CALENDAR] がありますが、複数の階層があり、階層によって週の開始が異なります。つまり、 [CALENDAR].[h1].[DATE] では、週の始まりが木曜日 (ネイチャー カレンダーの平日) である場合と、日曜日 (ネイチャー カレンダーの場合) の場合があるため、[CALENDAR].[DATE] を使用する必要があります。 、これはネイチャー カレンダーで、対応する土曜日を取得できます。

   with member measures.[Weekday]
   as datepart('w',[CALENDAR].[Fiscal].currentmember)
   member measures.[SatDay]
   as dateadd('d'
   ,7-datepart('w',[CALENDAR].[Fiscal].currentmember.MemberValue)
   ,[CALENDAR].[Fiscal].currentmember.MemberValue)

   select 
   {
   [Measures].[Plan Count]
   ,measures.[Weekday]
   ,measures.[SatDay]
   }    on 0,
  [CALENDAR].[Fiscal].[Date]   on 1
  from [MyCube]

しかし、その日の測定はどうすればよいですか?

4

1 に答える 1

0

週 (Year-Week-Date) を含む日付階層を使用してサブセレクトを試してください。

with     member [Measures].[WeekDate] as 
        dateadd('d' ,7 - datepart('w',[Dim Date].[Year -  Week -  Date].currentmember.MemberValue)
                                   ,[Dim Date].[Year -  Week -  Date].currentmember.MemberValue)

select {[Measures].[WeekDate], [Measures].[Plan Count]} on 0,
        [Dim Date].[Year -  Week -  Date].Children on 1
from (
    select ([Dim Date].[Year -  Week -  Date].[Week]) on 0
    from [cube]
    where (
        //filters if necessary
    )
)
于 2012-03-27T17:01:19.820 に答える