MDX 函数查找成员是否为集合的成员

MDX function to find if a Member IsMemberOf a set

这感觉像是一个非常基本的问题,因为它是我正在寻找的一个非常基本的功能。

我知道你能做到:

([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 中有我要找的那种功能吗?

你很接近:

INTERSECT([Dimension].CurrentMember,
{[Dimension].[AMember],[Dimension].[AnotherMember],[Dimension].[YetAnotherMember]}).Count > 0