2

我有一个用户层次结构,只有当用户有孩子时,我才想展开和向下钻取。如果层次结构中的成员没有孩子,我想隐藏这个成员。

以下查询获取层次结构中处于第 1 级的所有人,但我只想显示那些至少有一个子成员的人。

  成员 [Test] 为“0”
选择
{ [测试] } 在列上,非空
{
 (

  [Dim User].[UserHierarchy].[UserLevel1].AllMembers

 )
}维度属性 MEMBER_CAPTION,
MEMBER_UNIQUE_NAME ON ROWS
FROM [活动]

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

4

2 回答 2

3
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]
于 2013-08-05T20:04:12.510 回答
0

对于其他有同样问题的人,并且追求 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 提出他的解决方案并让我走上正轨。

于 2013-08-06T08:49:03.620 回答