0

単純なシナリオを考えてみましょう。2つの次元D1とD2を持つファクトテーブルFです。

F   D1   D2
10   A   B
15   B   C

このシナリオでは、次の式に近い式を使用して、新しい計算メンバーC1を定義します。

with member measures.C1 as
sum(
   descendants( [D1].[Ds].currentMember, , leaves ),
   [myMeasure]
)
select 
 measures.C1 on 0,
[D2].[Ds].AllMembers on 1
   from [MyCube]

C1を変更して、すべてのD2メンバーを常に式に組み込むにはどうすればよいですか?

私はこの結果を得る:

C1  D2
10  B
15  C

そして私はこれを探しています:

C1  D2
35  B
35  C

(もちろん、これは実際の問題を単純化したものです。C1式を修正しようとせず、期待される結果を得るためにコードを追加するだけです。私は次のことを試しました。

sum(
   { descendants( [D1].[Ds].currentMember, , leaves ),
     [D2].[Ds].AllMembers },
   [myMeasure]

失敗しました)

よろしく。

4

1 に答える 1

1

この特定の例では、メンバーステートメントを次のように変更します。

WITH MEMBER [Measures].[C1] AS
SUM([D1].[Ds].[All], [myMeasure])

これにより、メジャーのその次元のすべてが得られます。次に、その値をD2ディメンションの属性ごとに繰り返す必要があります。

質問のタイトルとテキストの一部に基づくと、これはほんの一例です。スコープを調査する必要がある可能性があります。それはかなり強力であり、あなたはそれを使っていくつかのきちんとしたことをすることができます。

于 2012-05-09T18:52:21.470 に答える