这感觉就像一个非常基本的问题,因为它是我正在寻找的一个非常基本的功能。
我知道你可以这样做:
([Dimension].CurrentMember IS [Dimension].[AParticularMember])
,你得到一个逻辑1或0作为函数值。
但是你怎么做这种事情,没有在很多丑陋的OR中连接IS函数:
([Dimension].CurrentMember ISAMEMBEROF
{[Dimension].[AMember],[Dimension].[AnotherMember],[Dimension].[YetAnotherMember]}
)
这实际上是基本的集合操作,仅在一个维度上,但我无法找到执行它的该死的函数。我试过这个:
NOT(ISEMPTY(INTERSECT([Dimension].CurrentMember,
{[Dimension].[AMember],[Dimension].[AnotherMember],[Dimension].[YetAnotherMember]})))
但它为每个维度成员返回True。我猜这是因为进入ISEMPTY函数的不是维度成员,而是元组
([Dimension].CurrentMember,[AnotherDimension].DefaultMember,
[YetAnotherDimension].DefaultMember,... ,Measures.DefaultMember)
我正在寻找的那种功能是否存在于MDX中?
答案 0 :(得分:5)
你很亲密:
INTERSECT([Dimension].CurrentMember,
{[Dimension].[AMember],[Dimension].[AnotherMember],[Dimension].[YetAnotherMember]}).Count > 0