繁体   English   中英

CURRENTMEMBER未涵盖一组日期

[英]CURRENTMEMBER not covering a set of dates

我在MDX有这个脚本:

WITH 
MEMBER [Measures].[FirstDay] as
 HEAD (
  DESCENDANTS ( 
     [Date].[Date - Calendar Month].CURRENTMEMBER, 
     [Date].[Date - Calendar Month].[Calendar Day] )
  , 1
 ).ITEM( 0 ).member_value
MEMBER [Measures].[LastDay] as
 TAIL (
  DESCENDANTS ( 
     [Date].[Date - Calendar Month].CURRENTMEMBER, 
     [Date].[Date - Calendar Month].[Calendar Day] )
  , 1
 ).ITEM( 0 ).member_value
SELECT
  { 
   [Measures].[FirstDay], 
   [Measures].[LastDay] 
  }  ON COLUMNS
FROM [OurCube]
WHERE
  ({[Date].[Date - Calendar Month].[Calendar Year].&[2012], 
    [Date].[Date - Calendar Month].[Calendar Year].&[2013]})

问题是我试图将WHERE子句中的2012和2013组合为一个集合:然后将其用作自定义度量中CURRENTMEMBER函数的求值上下文-但是该函数需要一个成员而不是一个集合。

如何更改脚本,以使其能够返回01 Jan 201231 Dec 2013 而不在行或列上包含维度[Date]

WITH 
MEMBER [Measures].[FirstDay] as
 (
  EXISTING  [Date].[Date - Calendar Month].[Calendar Day].Members
 ).ITEM( 0 ).member_value
MEMBER [Measures].[LastDay] as
 TAIL (
  EXISTING  [Date].[Date - Calendar Month].[Calendar Day].Members
  , 1
 ).ITEM( 0 ).member_value
SELECT
  { 
   [Measures].[FirstDay], 
   [Measures].[LastDay] 
  }  ON COLUMNS
FROM [OurCube]
WHERE
  ({[Date].[Date - Calendar Month].[Calendar Year].&[2012], 
    [Date].[Date - Calendar Month].[Calendar Year].&[2013]})

应该做到这一点。 我稍微简化了第一个计算:由于ITEM(0)已经采用了第一个元组,因此无需使用HEAD(..., 1)

请参阅http://sqlblog.com/blogs/mosha/archive/2007/01/13/multiselect-friendly-mdx-for-calculations-looking-at-current-coordinate.aspx和第一句中引用的前一篇文章SSAS的开发人员之一对“多选友好MDX”的一些建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM