我有一个用户层次结构,只有当用户有子级时,我才想展开和向下搜索。如果层次结构中的成员没有子级,我希望隐藏此成员。
下面的查询获取了所有在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[活动]
查询将自动检查用户层次结构,并自动向下到必要的级别。感谢比尔提出了他的解决方案,让我走上了正轨。