2013-02-20 180 views
1

排除在现有的一组成员,我需要一个MDX消除一些在现有的一组成员,我的方案是如下使用MDX查询

我有尺寸具有n个级别的父子层次,我使用维度在PPS仪表板。当用户选择与父母一起的所有孩子时,我不应该显示孩子,我应该只显示父母,这适用于任何级别。

下面是例子,假设公司是我的尺寸,它有人力资源和财务部门和分部门根据主要部门(我加了括号内各部门的主键)。

Company (1)  
      HR (2) 
       HR Sub 1 (3) 
       HR Sub 2 (4) 
      Finance (5) 
       Finance Sub 1 (6) 
       Finance Sub 2 (7) 

我使用上述尺寸为“多选择树”在我的PPS,以便用户可以同时选择HR,HR子1,HR子2。当选择父母下的所有孩子时,我需要排除孩子。

下面是实现它为每个成员

首先获取父逻辑并且如果构件父存在于选定的组则忽略该成员。要做到这一点,我写了MDX,我能够找到每个成员的父母,但我不知道如何检查家长是否存在于集合与否。

下面

是我写

WITH SET DeptSet AS '{[Company].[Dept].&[2], [Company].[Dept].&[3],[Company].[Dept].&4], [Company].[Dept].&[6]}' 
MEMBER Measures.ParentNode as [Company].Dept].CURRENTMEMBER.PARENT.UNIQUENAME 

SELECT [Measures].[EmpCount] on ROWS, {Need Trimmed Member Set Here} on COLUMNS FROM [CUBE] 

在上述MDX“DeptSet”的MDX是这是我从PPS和实现上述逻辑之后接收该组我需要得到设定如下

{[Company].[Dept].&[2], [Company].[Dept].&[6]} 

在此先感谢。下面MDX

+0

任何人都可以请回答我的问题 – 2013-02-21 09:45:47

回答