如果当前成员具有子级,则展开用户层次结构-MDX



我有一个用户层次结构,只有当用户有子级时,我才想展开和向下搜索。如果层次结构中的成员没有子级,我希望隐藏此成员。

下面的查询获取了所有在hiearchy级别1的成员,但我只想显示那些至少有一个子成员的成员。

成员[Test]为"0"选择{[Test]}在立柱上,非空{([调光用户]。[用户层次结构]。[UserLevel1].AllMembers)}维度属性MEMBER_CAPTION,行上的MEMBER_UNIQUE_NAMEFROM[活动]

我怎样才能做到这一点?用户层次结构参差不齐。

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]

对于其他有同样问题的人,并且追求excel效果,其中用户层次结构的维度只为父母扩展,这是实现这一点的方法:

与成员[措施]。【测试】AS0选择{[测试]}在0上,非空{过滤器({[dim user].[userhierarchy].[userlevel1].allmembers},[暗淡用户]。[userhierarchy].currentmember.children.count>1),过滤器({[dim user].[userhierarchy].[userlevel2].allmembers},[暗淡用户]。[userhierarchy].currentmember.children.count>1),过滤器({[dim user].[userhierarchy].[userlevel3].allmembers},[暗淡用户]。[userhierarchy].currentmember.children.count>1),过滤器({[dim user].[userhierarchy].[userlevel4].allmembers},[暗淡用户]。[userhierarchy].currentmember.children.count>1),过滤器({[dim user].[userhierarchy].[userlevel5].allmembers},[暗淡用户]。[userhierarchy].currentmember.children.count>1),过滤器({[dim user].[userhierarchy].[userlevel6].allmembers},[暗淡用户]。[userhierarchy].currentmember.children.count>1),过滤器({[dim user].[userhierarchy].[userlevel7].allmembers},[暗淡用户]。[userhierarchy].currentmember.children.count>1),过滤器({[dim user].[userhierarchy].[userlevel8].allmembers},[暗淡用户]。[userhierarchy].currentmember.children.count>1),过滤器({[dim user].[userhierarchy].[userlevel9].allmembers},[暗淡用户]。[userhierarchy].currentmember.children.count>1),过滤器({[dim user].[userhierarchy].[userlevel10].allmembers},[暗淡用户]。[userhierarchy].currentmember.children.count>1)}在1FROM[活动]

查询将自动检查用户层次结构,并自动向下到必要的级别。感谢比尔提出了他的解决方案,让我走上了正轨。

最新更新