1

SQL Server Analysis Services 2008 R2 を使用しています。

に対して計算したときにの値を置き換えるには1が必要です。これが私が試したことです:[Some Dimension].[All][Some Measure]

SCOPE( [Some Dimension].[All] );
  [Measures].[Some Measure] = 123; // for simplicity sake
END SCOPE;

[Some Dimension]これは、クエリを実行すると期待どおりに機能します。メンバーは を[All]返し123、他のメンバーはそのままで、実際に関連付けられた[Some Measure]値が表示されます。

しかし、何らかの奇妙な理由で、他のすべての次元のすべてのメンバー123[Some Measure]. 私は本当に迷っています。これを修正する方法と、なぜこれが起こっているのか、アドバイスをお願いします。

1 興味のある方へ:の値を置き換えたい理由は、とが多対多に関連している[All]ためです。このため、tupleは常にキューブ内の合計数を返します。返してほしいは、 の少なくとも 1 つのメンバーに実際に関連付けられている の数です[Some Dimension][Some Measure]( [Some Dimension].[All], [Some Measure] )[Some Measure][Some Measure][Some Dimension]

4

1 に答える 1

3

私が正しく理解している場合は、が選択されている場合だけでなく、キューブの残りのディメンションが対応する「すべて」のメンバーである場合にも上書き[Measures].[Some Measure]する必要[Some Dimension].[All]があります。currentmemberそうです、スコープの割り当てを変更するだけSCOPE(Root())でうまくいくはずです。

于 2012-09-17T07:42:54.783 に答える