私は本「MDXステップバイステップ」を学んでいます。私は例に従っていて、EXISTINGを理解する方法に関してこの質問があります。私は(私が思うに)以下の1と2を理解していますが、3を理解していません。
注:スクリーンショットは完全ではありませんが、アイデアを得ることができます。
1すべての製品の上位5つの再販業者の売上を返し、4つのカテゴリとクロスジョインするだけです。これは望ましくありません。上位5つの製品が繰り返されていることがわかります。
SELECT
{([Measures].[Reseller Sales Amount])} ON COLUMNS,
([Product].[Category].[Category].Members) *
Generate(
{[Product].[Category].[Category].Members},
TopCount(
{[Product].[Product].[Product].Members},
5,
([Measures].[Reseller Sales Amount])
),
ALL
) ON ROWS
FROM [Step-by-Step]
2ここで、EXISTINGを追加すると、4つのカテゴリのそれぞれについて上位5つの再販業者の売上が返されます。これは正しいことです。
SELECT
{([Measures].[Reseller Sales Amount])} ON COLUMNS,
([Product].[Category].[Category].Members) *
Generate(
{[Product].[Category].[Category].Members},
TopCount(
EXISTING {[Product].[Product].[Product].Members},
5,
([Measures].[Reseller Sales Amount])
),
ALL
) ON ROWS
FROM [Step-by-Step]
3これが私の質問です。私は存在をトップカウントに置きました、何が起こったのかを理解する方法は?
SELECT
{([Measures].[Reseller Sales Amount])} ON COLUMNS,
([Product].[Category].[Category].Members) *
Generate(
{[Product].[Category].[Category].Members},
EXISTING TopCount(
{[Product].[Product].[Product].Members},
5,
([Measures].[Reseller Sales Amount])
),
ALL
) ON ROWS
FROM [Step-by-Step]