2つのディメンションと1つのメジャーグループ[時間]。[日]、[シナリオ]。[シナリオ]と、2つのメジャー[メジャー]。[CleanPrice]と[メジャー]。[DirtyPrice]を含むメジャーグループがあります。
私はうまくいく次の結果から始めます:
01-01-2011 01-01-2012
Base CleanPrice 100 100
Base DirtyPrice 100 100
Up1% CleanPrice 101 101
Up1% DirtyPrice 101 101
私が本当に作成したいのは、メジャーを表示するための計算されたメンバーと、現在のシナリオと基本シナリオの間のデルタです。
望ましい結果は次のようになります。
01-01-2011 01-01-2012
Base CleanPrice Value 100 100
Base CleanPrice Delta 0 0
Base DirtyPrice Value 100 100
Base DirtyPrice Delta 0 0
Up1% CleanPrice Value 101 101
Up1% CleanPrice Delta 1 1
Up1% DirtyPrice Value 101 101
Up1% DirtyPrice Delta 1 1
私はこのようなことを試みましたが、メジャーグループをクロスジョインすることはできません。
WITH MEMBER [Value] as [Measures].CurrentMember
MEMBER [Delta] as [Measures].CurrentMember - ([Scenario].[Scenario].&[0], [Measures].CurrentMember)
SELECT NON EMPTY
{ [Time].[Day].&[2011-01-01T00:00:00], [Time].[Day].&[2012-01-01T00:00:00] }
ON COLUMNS,
{ [Scenario].[Scenario].&[0], [Scenario].[Scenario].&[1] } *
{ [Measures].[CleanPrice], [Measures].[DirtyPrice] } *
{ [Value], [Delta] }
ON ROWS
FROM Results
2つの計算されたメンバーを作成します。[値]は単に現在のメジャーであり、[デルタ]は現在のメジャーを取得し、基本シナリオに対するそのメジャーの差を取得します。
クリーン価格とダーティ価格のメジャーグループと、計算された2つのメンバーのメジャーグループをクロスジョインしたいのですが、これは不可能です。
望ましい結果を生み出す方法はありますか?[CleanPriceDelta]と[DirtyPriceDelta]のメジャーは実際にたくさんあるので、作成しないようにしたいと思います。