
[英]Error: The MDX function CURRENTMEMBER failed because the coordinate for the attribute contains a set
[英]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 2012
和31 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.