MDX で計算されるメンバーを定義する必要があります (これは SAS OLAP ですが、とにかくさまざまな OLAP 実装を使用している人々からの回答をいただければ幸いです)。
新しいメジャーの値は、追加のフィルター条件を適用して、既存のメジャーから計算する必要があります。例でより明確になると思います:
- 既存のメジャー: 「総トラフィック」
- 既存のディメンション: "方向" ("イン" または "アウト")
- 計算されたメンバー「着信トラフィック」を作成する必要があります。これは、追加のフィルター (方向 = 「受信」) を使用して「総トラフィック」に等しくなります。
問題は、私が MDX を知らないことと、スケジュールが非常にタイトであることです (初心者の質問で申し訳ありません)。私が思いつくことができる最高のものは次のとおりです。
([Measures].[Total traffic], [Direction].[(All)].[In])
特定の方向を持つセルを除いて、これはほとんど機能します:
したがって、Direction の「組み込み」フィルターが独自のフィルターでオーバーライドされているように見えます)。「組み込み」フィルターと独自のフィルターの交差点が必要です。私[Direction].[(All)].[In]
の直感は、評価されるセルの固有の座標と交差することに関係しているということでしたが、最初に主題を読まずに何が必要かを知るのは難しいです:)
【追記】結局こうなりました
IIF([Direction].currentMember = [Direction].[(All)].[Out],
0,
([Measures].[Total traffic], [Direction].[(All)].[In])
)
..しかし、少なくともSAS OLAPでは、これにより、基礎となるデータセットに対して([in]の値を計算するために)余分なクエリが実行されるため、最終的には使用しませんでした。