既存のセットのメンバーの一部を削除するために 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]}
前もって感謝します。