0

目標: 指定されたユーザー アクセス レベルより上のすべてのレベルを削除します。

: 地区 3717 にアクセスできる where 句にユーザーがいます。地区 3717、地区 3717 の下にリストされている部門、およびその地域のみのその地区の兄弟 (地区 3701 から 3718) をリストするクエリを作成しようとしています。

私が今持っているもの: 地区 3717、地区 3717 の下にリストされている部門、およびその地域のみのその地区の兄弟 (地区 3701 から 3718) をリストするクエリがあります。また、その親、そのエリア (エリア 3) のすべてのリージョン、エリア 3 とその兄弟 (エリア 3、4、5)、会社、削除済み、無効、およびすべてがリストされます。

クエリの集計部分を変更しようとしていますが、どこにも行きません。

スクリーンショットで強調表示されているのは、私が興味を持っていることだけです。ユーザーが地域 35 にアクセスできる場合、結果セットには地域 30 から 39、地域 35 の下の地区のみ、地域 35 の下のすべての地区の部門のみが必要です。 . 画像をご参照ください。助けてください

WITH
MEMBER [Measures].[ParameterValue] AS
    [Organization].[Organization Hierarchy].CurrentMember.UniqueName
MEMBER [Measures].[ParameterCaption] AS
    iif([Organization].[Organization Hierarchy].CurrentMember.Level.Ordinal =1,"",[Organization].[Organization Hierarchy].CurrentMember.Properties( "Organization Id" ) + " - ") +
    [Organization].[Organization Hierarchy].CurrentMember.Name  
MEMBER [Measures].[ParameterLevel] AS
        [Organization].[Organization Hierarchy].CurrentMember.Level.Ordinal
MEMBER [Measures].[User Count] AS
    [Measures].[User Organization Count]
    -
    Aggregate(
        {[Organization].[Organization Hierarchy].parent
        ,DESCENDANTS([Organization].[Organization Hierarchy])}
        ,[Measures].[User Organization Count]
    )
SELECT 
{
    [Measures].[ParameterValue]
    ,[Measures].[ParameterCaption]
    ,[Measures].[ParameterLevel]
}
ON COLUMNS,
FILTER
(
    DESCENDANTS([Organization].[Organization Hierarchy],5, SELF_AND_BEFORE)
    ,[Measures].[User Count]
)
ON ROWS
FROM [Cube]
WHERE
(
[Users].[User Name].&       [User_with_access_to_district_level__this_user_is_assgined_to_district_3718],
[Organization].[Organization Hierarchy Name].&[typeofhierarchy]
)

こちらの画像をご参照ください。

4

1 に答える 1

2

UNION を使用して必要なセットを構築する必要があると思います。

UNION
(
    //This bit gets you the children (districts)
    DESCENDANTS([Organization].[Organization Hierarchy].&[35],1, AFTER),
    //This bit gets you the siblings, including self
    [Organization].[Organization Hierarchy].&[35].SIBLINGS
)
ON ROWS
于 2012-10-08T13:46:07.167 に答える