私はMDXを初めて使用し、次の問題を解決しようとしています。調査された計算されたメンバー、副選択、範囲のステートメントなどを調査しましたが、私が望むことをするためにそれを得ることはできません。集計を使用したSQLサブクエリに相当するMDX
はの私は、次のSQLクエリにMDX相当を思い付くしようとしているとしましょう:言い換えれば
SELECT SUM(netMarketValue) net,
SUM(CASE WHEN netMarketValue > 0 THEN netMarketValue ELSE 0 END) assets,
SUM(CASE WHEN netMarketValue < 0 THEN netMarketValue ELSE 0 END) liabilities,
SUM(ABS(netMarketValue)) gross
someEntity1
FROM (
SELECT SUM(marketValue) netMarketValue, someEntity1, someEntity2
FROM <some set of tables>
GROUP BY someEntity1, someEntity2) t
GROUP BY someEntity1
、私は、私が(someEntity2以内)の内部相殺取引を隠しアカウント台帳を持っていますsomeEntity2によって資産を集計した後で資産&を計算します。次に、その資産の総額を参照したいと考えています&負債は、より大きなエンティティsomeEntity1によって集計されます。
私のMDXスキーマでは、おそらくsomeEntity1 & someEntity2のディメンションを持つキューブがあり、marketValueは私のファクトテーブル/メジャーになります。私は私のサブクエリが(ネットを計算する)ことをした別のDSVを作成し、単純にそれを私のメジャーディメンションとして作成することができますが、より良い方法があるのだろうかと思います。私はむしろ2つの立方体(これらの正味の計算のためのものと、他のユースケースのためのより細かい粒度のものへ行くためのもの)を持っていないでしょう、それは私のデータベースに重複した情報がたくさんあるからです。これらは非常に大きな立方体になります。