用語のいくつかが間違っている場合は、私は本当にMDX/OLAPの新機能です。MDX階層内に値が存在する場合の結果を除外します
私は倫理壁を決定するための次元を持っています。ディメンションは、次のようになります。
Ethical Wall (dimension)
--> Matter ID (hierarchy)
--> Walled (hierarchy)
--> White Listed Initials (hierarchy)
--> Black Listed Initials (hierarchy)
[Walled]
階層は問題が適用され、壁を持っている場合に応じて、trueまたはfalseのいずれかが含まれています。
ホワイトリストとブラックリストの階層には、それぞれ案件へのアクセス権を持っているか持っていない人の頭文字が含まれています。注意事項は、ホワイトリストまたはブラックリストのいずれかであり、決してそれらの2つの組み合わせではありません。
私は壁なしのシナリオとホワイトリストのシナリオを比較的簡単に説明することができましたが、ブラックリストのシナリオには多くの問題があります。 、
({
(
[Ethical Wall].[Walled].&[True]
,[Ethical Wall].[White Listed Initials].&[XXX]
,[Ethical Wall].[Black Listed Initials].&[]
)
,(
[Ethical Wall].[Walled].&[True]
,[Ethical Wall].[White Listed Initials].&[]
,-{[Ethical Wall].[Black Listed Initials].&[XXX]}
)
,(
[Ethical Wall].[Walled].&[False]
,[Ethical Wall].[White Listed Initials].&[]
,[Ethical Wall].[Black Listed Initials].&[]
)
})
は私がダウンしてフィルタリングしていたから、最初のデータセットを、ダウンストリップとテーブルでそれを表現する、このようになります:これは私がこれまでに出ているwhere句である
イニシャルXXXのユーザーがアクセスできるIds
のみを選択します。上からフィルタを適用すると、私はすべて3を返しますIds
。私が探している結果セットはId
1
と2
です。上記からのファイラーは、次のように一致します。
私は私のフィルタは、すべての3 Ids
を取得しているが、私はきちんとIds
を除外するために、フィルタの中央部分を修正する方法を理解していない理由をを理解しています。これがフィルタの問題の部分です。
,(
[Ethical Wall].[Walled].&[True]
,[Ethical Wall].[White Listed Initials].&[]
,-{[Ethical Wall].[Black Listed Initials].&[XXX]}
)
このようなデータセットに一致するようにフィルタを変更するにはどうすればよいですか?
なぜ、中間タプルをすべて組み込むのですか?ミドルタプルが何かを選択している場合は、そのタプルをセットから削除するだけです。 – whytheq
からフィルタリングする初期データセットにはすべてのIDが含まれているため、その情報を含めるように質問を編集します。 –