Adventure Works Cube を使用して、次のコードを実行すると (MS の例から):
with
Member [Measures].[Internet Sales Amount - Range]
AS aggregate ( [Date].[Fiscal].[Date].&[20080430]:[Date].[Fiscal].[Date].&[20080502] , [Measures].[Internet Sales Amount] )
SELECT
{ [Measures].[Internet Sales Amount - Range] } ON COLUMNS,
{ [Product].[Category].Members } ON ROWS
FROM
[Adventure Works]
適切な結果が得られます。
ただし、計算されたタブで SCOPE コマンドを使用して同様の機能を実装すると、次のようになります。
scope ([Product].[Category], [Measures].[Internet Sales Amount]);
this = aggregate ( [Date].[Fiscal].[Date].&[20080430]:[Date].[Fiscal].[Date].&[20080502] , [Measures].[Internet Sales Amount] );
end scope;
次に、次の mdx クエリを実行します。
SELECT
{ [Measures].[Internet Sales Amount] } ON COLUMNS,
{ [Product].[Category].Members } ON ROWS
FROM
[Adventure Works]
大きく異なる結果が得られます。スコープは、日付範囲またはカテゴリ メンバーを無視しているように見えますが、何がわかりません。日付範囲で新しいスコープを作成するときに、キューブで同様の問題が発生しています。
スコープで何が起こっているか知っている人はいますか?