如何创建跨维度过滤数据的成员?

时间:2012-06-11 13:41:27

标签: mdx

我想创建一个基于一组条件过滤数据的计算成员(或其他最好的成员)。
示例:如果[dimension1]。[attribute1] ='Y',如果[dimension2]。[attribute2]介于0和8之间,则“调用此成员”为“红色”,否则,将此成员称为“黑色”。

我希望能够将我需要的任何成员拖到MDX语句的where子句中,并根据我指定的条件过滤数据。
     我是新手,如果有人可以给我一个示例查询来做到这一点,我一定会很感激!

1 个答案:

答案 0 :(得分:1)

WITH
MEMBER A AS
STRTOVAL( [dimension2].[attribute2].currentmember.name)

MEMBER B AS
IIF(A >=0 AND A < 9 AND [dimension1].[attribute1].currentmember IS [dimension1].[attribute1].&[y],'Red', 'Black'

我创建了两个成员。第一个处理范围。属性存储为文本,需要进行转换。这是它自己的成员,因为需要在成员B中引用它两次。成员B是一个基本的IIF,包括指定的条件和输出。

要使这些成员工作,Dimension1.attribute1和dimension2.Attribute2将需要出现在您的select语句中。