1

既存のセットのメンバーの一部を削除するために MDX が必要です。私のシナリオは次のとおりです。

n レベルの親子階層を持つディメンションがあり、PPS ダッシュボードでそのディメンションを使用しています。ユーザーが親と一緒にすべての子を選択すると、子は表示されず、親のみが表示されます。これはどのレベルにも当てはまります。

以下は、会社が私のディメンションであり、人事部門と財務部門、および主要部門の下にサブ部門があると仮定した例です (括弧内に各部門の主キーを追加しました)。

会社 (1)    
          人事 (2)   
                HR サブ 1 (3)
                HR サブ 2 (4)
          金融 (5)   
                ファイナンス サブ 1 (6)
                ファイナンス サブ 2 (7)

上記のディメンションを PPS で「複数選択ツリー」として使用しているため、ユーザーは一度に HR、HR Sub 1、HR Sub 2 を選択できます。親の下のすべての子を選択すると、子を除外する必要があります。

以下はそれを達成するためのロジックです

最初に各メンバーの親を取得し、メンバーの親が選択したセットに存在する場合は、そのメンバーを無視します。これを達成するために MDX を作成し、各メンバーの親を見つけることができましたが、親がセットに存在するかどうかを確認する方法がわかりません。

以下は私が書いたMDXです

WITH SET DeptSet AS '{[Company].[Dept].&[2], [Company].[Dept].&[3],[Company].[Dept].&4], [Company].[Dept].&[6]}'
MEMBER Measures.ParentNode as [Company].Dept].CURRENTMEMBER.PARENT.UNIQUENAME

SELECT [Measures].[EmpCount] on ROWS, {Need Trimmed Member Set Here} on COLUMNS FROM [CUBE]

上記の MDX では、「DeptSet」は PPS から受け取るセットであり、上記のロジックを実装した後、以下のようにセットを取得する必要があります

{[Company].[Dept].&[2], [Company].[Dept].&[6]}

前もって感謝します。

4

1 に答える 1

1

以下の MDX を使用して完了します

[DeptSet] - Filter([DeptSet], Count([DeptSet].CurrentMember.Parent - [DeptSet])=0)

{Need Trimmed Member Set Here} の代わりに

詳細については、以下のリンクを参照して ください。

于 2013-02-21T13:41:58.803 に答える