次の方法で共有


CREATE SUBCUBE ステートメント (MDX)

指定されたキューブまたはサブキューブのキューブ空間を、指定されたサブキューブに再定義します。このステートメントを実行すると、後続の操作で使用する見かけのキューブ空間が変わります。

構文

CREATE SUBCUBE Cube_Name AS Select_Statement
                                                  | NON VISUAL ( Select_Statement )

引数

  • Cube_Name
    制限するキューブまたは分析観点の名前を指定する有効な文字列式です。この名前がサブキューブの名前になります。

  • Select_Statement
    WITH 句、NON EMPTY 句、または HAVING 句が含まれておらず、ディメンションまたはセルのプロパティを要求しない有効な多次元式 (MDX) の SELECT 式です。

    SELECT ステートメントと NON VISUAL 句の構文の詳しい説明については、「SELECT ステートメント (MDX)」を参照してください。

説明

既定のメンバをサブキューブの定義から除外すると、それに応じて座標も変わります。集計が可能な属性の場合、既定のメンバは [All] のメンバに移動します。集計が不可能な属性の場合、既定のメンバはサブキューブ内に存在するメンバに移動します。サブキューブと既定のメンバの組み合わせの例を以下に示します。

元の既定のメンバ

集計可能/不可能

サブセレクト

変更後の既定のメンバ

Time.Year.All

可能

{Time.Year.2003}

変更なし

Time.Year.[1997]

可能

{Time.Year.2003}

Time.Year.All

Time.Year.[1997]

不可能

{Time.Year.2003}

Time.Year.[2003]

Time.Year.[1997]

可能

{Time.Year.2003, Time.Year.2004}

Time.Year.All

Time.Year.[1997]

不可能

{Time.Year.2003, Time.Year.2004}

Time.Year.[2003] または

Time.Year.[2004]

[All] のメンバは、常にサブキューブ内に存在します。

サブキューブのコンテキストで作成されたセッション オブジェクトは、サブキューブが削除された時点で削除されます。

サブキューブの詳細については、「MDX でのサブキューブの作成 (MDX)」を参照してください。

次の例では、見かけのキューブ空間を Canada に存在するメンバに制限したサブキューブを作成しています。その後、MEMBERS 関数を使用して、Geography ユーザー定義階層の Country レベルのすべてのメンバを返しています。結果として、Canada という国のみが返されます。

CREATE SUBCUBE [Adventure Works] AS
   SELECT [Geography].[Country].&[Canada] ON 0
   FROM [Adventure Works]

SELECT [Geography].[Country].[Country].MEMBERS ON 0
   FROM [Adventure Works]

次の例では、サブキューブを作成します。このサブキューブでは、見かけのキューブ空間を制限して、Products.Category に存在する {Accessories, Clothing} メンバおよび Resellers.[Business Type] に存在する {[Value Added Reseller], [Warehouse]} に限定します。

CREATE SUBCUBE [Adventure Works] AS

Select {[Category].Accessories, [Category].Clothing} on 0,

{[Business Type].[Value Added Reseller], [Business Type].[Warehouse]} on 1

from [Adventure Works]

次の MDX を使用して、Products.Category および Resellers.[Business Type] 内のすべてのメンバのサブキューブを照会します。

select [Category].members on 0,

[Business Type].members on 1

from [Adventure Works]

where [Measures].[Reseller Sales Amount]

結果は次のようになります。

 

All Products

Accessories

Clothing

All Resellers

$2,031,079.39

$506,172.45

$1,524,906.93

Value Added Reseller

$767,388.52

$175,002.81

$592,385.71

Warehouse

$1,263,690.86

$331,169.64

$932,521.23

NON VISUAL 句を使用してサブキューブを削除し、再作成すると、Products.Category および Resellers.[Business Type] に存在するすべてのメンバについて、サブキューブに表示されているかどうかに関係なく、それらの実際の合計が維持されます。

CREATE SUBCUBE [Adventure Works] AS

NON VISUAL (Select {[Category].Accessories, [Category].Clothing} on 0,

{[Business Type].[Value Added Reseller], [Business Type].[Warehouse]} on 1

from [Adventure Works])

前の例と同じ MDX クエリを実行します。

select [Category].members on 0,

[Business Type].members on 1

from [Adventure Works]

where [Measures].[Reseller Sales Amount]

次のように、前の例とは異なる結果になります。

 

All Products

Accessories

Clothing

All Resellers

$80,450,596.98

$571,297.93

$1,777,840.84

Value Added Reseller

$34,967,517.33

$175,002.81

$592,385.71

Warehouse

$38,726,913.48

$331,169.64

$932,521.23

[All Products] および [All Resellers] の列と行それぞれに、表示されているメンバだけでなく、すべてのメンバの合計が含まれます。