如何使用MDX在该周的特定日期获取度量

时间:2012-02-28 07:41:37

标签: ssas mdx ssas-2008

我是MDX的新手, 我有一个要求,即使用该星期六的度量作为该周的默认值,我有一个时间维[CALENDAR], 但是有多个层次,不同的层次有不同的周开始,这意味着在[日历]。[h1]。[日期],周开始可能是星期四(工作日在自然日历中),在另一个可能是星期日(在自然界中)日历), 所以我必须使用[日历]。[日期],这是自然日历,我可以得到相应的星期六,

   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]

但我怎么能在那天采取措施呢?

1 个答案:

答案 0 :(得分:0)

尝试使用包含周(年 - 周 - 日期)的日期层次结构进行子选择。

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
    )
)