2011-02-01 13 views
0

これはmy question about count from start of timeの続きです。MDX特定の階層のない時間のカウント

私は、DateTime Hierarchyに基づいてカウントを実行したいと考えていますが、これを計算メジャーとして使用することができます。これはディメンションをドラッグしたときに機能します。私は現在、

メンバーと

[対策]を持っている
合計(など[コミットメント合計]
[日付点心] [FY階層] [年度] .members(0):。。。[日付点心] [FY階層] .CURRENTMEMBER
、[対策] [コミットメントカウント])

そして計算を使用して:

[対策]を選択し、[コミットメント合計] 0
に、[日付薄暗いです]。 。[会計年度]。[会計年度] 1私はその後、使用、[FY階層]。[対策]。[コミットメント合計] [日付点心]上に構築されていないを持って好きですが、計算に独立しただろう[キューブ]

から210 select文の日付軸です。つまり、Calendar Year、Fiscal Year、Month Dimsで計算できます。

だから私は、それは次のようになりたいと思っています:。メンバー[対策]で

[コミットメント合計]
合計(
NULLとして:[日付点心] .CURRENTMEMBER
、 [測定] [コミットメントカウント])次に

計算に使用する:0

SELECT [対策] [コミットメント合計]。、[日付点心]。[FY階層]。[年度] 1
上から[キューブ]

OR

を選択し、[施策]。[コミットメント合計] 0
、[日付薄暗い上]。[CY階層]。[年度] [キューブ]

わからないから1
に私が求めていることは可能であるかどう?

答えて

1

私は同様の問題を抱えていたし、次のようにそれを解決してきました:

SSASは本当にあなたがにしているどの階層を伝えることはできませんので、あなたは、単にあなたの例のようにこれを行うことはできません。しかし、以下のことが私のために働いた。私はあなたの命名にそれを再加工しようとしましたので、明白な構文エラーを確認してください...

これはすべてキューブ計算スクリプトに入っていますので、「ブロックビュー」ではなく「スクリプトビュー」を使用する必要があります。

CREATE MEMBER CURRENTCUBE.[Measures].[Commitment Total] AS NULL; 

次に、各階層のために後でスクリプトでそれを定義します。

SCOPE (DESCENDANTS([Date Dim].[FY Hierarchy],,AFTER));  
[Measures].[Commitment Total] = 
sum(
[Date Dim].[FY Hierarchy].[Fiscal Year].members(0):[Date Dim].[FY Hierarchy].currentMember 
, [Measures].[Commitment Count]); 
END SCOPE; 

SCOPE (DESCENDANTS([Date Dim].[CY Hierarchy],,AFTER));  
[Measures].[Commitment Total] = 
sum(
[Date Dim].[CY Hierarchy].[Calendar Year].members(0):[Date Dim].[CY Hierarchy].currentMember 
, [Measures].[Commitment Count]); 
END SCOPE; 

今では、それに応じて、クエリ内の階層存在に依存して動作します。どちらの階層もクエリにない場合は、NULLになることに注意してください。

関連する問題