如果当前成员有孩子,则展开用户层次结构 - MDX
Posted
技术标签:
【中文标题】如果当前成员有孩子,则展开用户层次结构 - MDX【英文标题】:Expand user hierarchy if current member has children - MDX 【发布时间】:2013-08-05 09:48:45 【问题描述】:我有一个用户层次结构,只有当用户有孩子时,我才想展开和向下钻取。如果层次结构中的成员没有孩子,我想隐藏这个成员。
以下查询获取层次结构中处于第 1 级的所有人员,但我只想显示至少有一个子成员的人员。
成员 [Test] 为“0” 选择 [测试] 在列上,非空 ( [Dim User].[UserHierarchy].[UserLevel1].AllMembers ) 维度属性 MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM [活动]我怎样才能做到这一点?用户层次结构参差不齐。
【问题讨论】:
【参考方案1】:WITH
MEMBER [Measures].[Test] AS
0
SELECT
[Test]
ON 0,
NON EMPTY
FILTER (
[Dim User].[UserHierarchy].[UserLevel1].AllMembers
,[Dim User].[UserHierarchy].CurrentMember.Children.Count > 0
)
ON 1
FROM [Activities]
【讨论】:
感谢您的回答比尔。如果我想显示层次结构,例如从 Level1 到 Level8,我将如何将您的答案塑造成向我展示父母的完整层次结构?您的答案是否会仅隐藏层次结构中的成员,但他们的数字仍会显示在度量中?【参考方案2】:对于其他有同样问题,并且追求excel那种效果的人,用户层次结构的维度只为父母扩展,这是这样做的:
和 成员[措施]。[测试] AS 0 选择 [测试] 开 0, 非空 筛选 ( [dim user].[userhierarchy].[userlevel1].allmembers ,[dim user].[userhierarchy].currentmember.children.count > 1 ), 筛选 ( [dim user].[userhierarchy].[userlevel2].allmembers ,[dim user].[userhierarchy].currentmember.children.count > 1 ), 筛选 ( [dim user].[userhierarchy].[userlevel3].allmembers ,[dim user].[userhierarchy].currentmember.children.count > 1 ), 筛选 ( [dim user].[userhierarchy].[userlevel4].allmembers ,[dim user].[userhierarchy].currentmember.children.count > 1 ), 筛选 ( [dim user].[userhierarchy].[userlevel5].allmembers ,[dim user].[userhierarchy].currentmember.children.count > 1 ), 筛选 ( [dim user].[userhierarchy].[userlevel6].allmembers ,[dim user].[userhierarchy].currentmember.children.count > 1 ), 筛选 ( [dim user].[userhierarchy].[userlevel7].allmembers ,[dim user].[userhierarchy].currentmember.children.count > 1 ), 筛选 ( [dim user].[userhierarchy].[userlevel8].allmembers ,[dim user].[userhierarchy].currentmember.children.count > 1 ), 筛选 ( [dim user].[userhierarchy].[userlevel9].allmembers ,[dim user].[userhierarchy].currentmember.children.count > 1 ), 筛选 ( [dim user].[userhierarchy].[userlevel10].allmembers ,[dim user].[userhierarchy].currentmember.children.count > 1 ) 开 1 FROM [活动]查询将自动检查用户层次结构,并自动下降到必要的级别。感谢 Bill 提出他的解决方案并让我走上正轨。
【讨论】:
以上是关于如果当前成员有孩子,则展开用户层次结构 - MDX的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 MDX 获取不可见属性和用户定义的层次结构的名称?