2016-03-29 4 views
3

私はエネルギー会社の契約のためにSSASキューブで作業しています。異なる値の単位を表示するSSAS依存のFormatString

1つの尺度は「契約量」です。彼らは電気とガスの両方の契約をしています。したがって、契約量の単位はkm3またはMWhです。

尺度「契約数量」は、ガスとエルに分割するのではなく、同じ措置をとることが望ましい。

エンドユーザに異なるユニットを表示するにはどうすればよいですか?私は、コントラクト・タイプに依存するFormatStringを使用することが好ましい(情報は基礎となるファクト表とディメンションの両方にある)。それをしてもいいですか?

私はガスとガスで凝集可能なガスを作ることができますか? SQL Server 2008 R2の多次元

編集:編集

SCOPE 
    (
     {[Measures].[Measure 1], 
     [Measures].[Measure 2], 
     [Measures].[Measure 3], 
     [Measures].[Measure 4]} 
    ); 

    SCOPE([Contract Type].[Contract types].[Energy].&[El].Children); 
    FORMAT_STRING (This) = "#,##0.00 \k\W\h;-#,##0.00 \k\W\h"; 
    END SCOPE; 
    SCOPE ([Contract Type].[Contract types].[Energy].&[El]); 
    FORMAT_STRING (This) = "#,##0.00 \k\W\h;-#,##0.00 \k\W\h"; 
    END SCOPE; 

    SCOPE([Contract Type].[Contract types].[Energy].&[Gas].Children); 
    FORMAT_STRING (This) = "#,##0.00 k\m\3;-#,##0.00 \k\m\3"; 
    END SCOPE; 
    SCOPE ([Contract Type].[Contract types].[Energy].&[Gas]); 
    FORMAT_STRING (This) = "#,##0.00 \k\m\3;-#,##0.00 \k\m\3"; 
    END SCOPE; 
END SCOPE; 
+0

このSSASは多次元または表形式ですか? –

答えて

3

あなたには2つの課題があると思いますが、どちらも1組のSCOPEステートメントで解決できます。

キューブの[計算]タブでは、まず[数値]階層の[計算されたメンバー]を作成し、[式]をNULLにします。それから(スクリプトビューで)私は(ガスとエルのための)SCOPEステートメントのペアを追加します。それぞれのSubcube式は、新しいCalculated Measureを特定し、GasおよびELをそれぞれ指定する次元メンバーを指定します。

各SCOPEステートメント内で、This =構文を使用してGasおよびElのソースメジャーを指定し、FORMAT_STRING (This) =シンタックスを使用してメジャーフォーマットを指定することができます。

スコープ...終わりのスコープは入れ子にすることができます。望むのであれば、計算された小節を指定する余分な親SCOPEに2つのスコープをラップして追加することができるので、その小節の名前を繰り返す必要はありません。

3

私はあなたのためにスコープを使用することができると思う:ありがとう@マイクハニー ここでは、私は、スクリプトビューで書いてしまったコードですこれは: https://msdn.microsoft.com/en-us/library/ms145515.aspx

計算では、計算を選択できます。ここでスコープを使用してこれらの異なるユニットを作成できます。

関連する問題