MDX データ操作 - CREATE SESSION CUBE
既存のサーバー キューブから、セッション キューブを作成および設定します。 セッション キューブは現在のセッション内でのみ表示できます。他のセッションから参照したり、クエリを実行することはできません。 セッション キューブは、セッションが閉じられたときに暗黙的に削除されます。
構文
CREATE SESSION CUBE session_cube_name FROM <cube list> (<param list>)
<cube list>::= source_cube_name [,<cube list>]
<param list>::= <param> ,<param list> | <param>
<param>::= <dims list> | <measures list>
<measures list>::= <measure>[, <measures list>]
<dims list>::= <dim def> [, <dims list>]
<measure>::= MEASURE source_cube_name.measure_name [<visibility qualifier>] [AS measure_name]
<dim def>::= <source dim def> | <derived dim def>
<source dim def>::= DIMENSION source_cube_name.dimension_name [<dim flags>] [<visibility qualifier>] [AS dimension_name>] [FROM <dim from clause> ] [<dim content def>]
<dim flags>::= NOT_RELATED_TO_FACTS
<dim from clause>::= <reg dim from clause>
<dim reg from clause>::= dimension_name
<dim content def>::= ( <level list> [,<grouping list>] [,<member slice list>] [,<default member>] )
<level list>::= <level def> [, <level list>]
<level def>::= LEVEL level_name [<level type> ] [AS level_name] [<level content def>]
<level content def>::= ( <property list> ) | NO_PROPERTIES
<level type>::= GROUPING
<property list>::= <property def> [, <property list>]
<property def>::= PROPERTY property_name
<grouping list>::= <grouping entity> [,<grouping list>]
<grouping entity>::= GROUP group_level_name.group_name (<mixed list>)
<grp mixed list>::= <grp mixed element> [,<grp mixed list>]
<grp mixed element>::= <grouping entity> | <member def>
<member slice list>::= <member list>
<member list>::= <member def> [, <member list>]
<member def>::= MEMBER member_name
<default member>::= DEFAULT_MEMBER AS MDX_expression
<visibility qualifier>::= HIDDEN
構文要素
session_cube_name
セッション キューブの名前です。
source_cube_name
作成するセッション キューブの基になるキューブの名前です。
source_cube_name.measure_name
セッション キューブに含まれるソース メジャーの完全修飾名。 メジャー ディメンションの計算メンバーは許可されません。
measure_name
セッション キューブのメジャーの名前です。
source_cube_name.dimension_name
セッション キューブに含まれるソース ディメンションの完全修飾名。
dimension_name
セッション キューブ内のディメンションの名前。
FROM <dim from 句>
派生ディメンション定義に対してのみ有効な指定。
NOT_RELATED_TO_FACTS
派生ディメンション定義に対してのみ有効な指定。
<level type>
派生ディメンション定義に対してのみ有効な指定。
解説
サーバー キューブやローカル キューブと異なり、セッション キューブは、それを作成したセッションの期間を超えて保持されません。 セッション キューブは、それを定義するメジャーと定義の観点から定義されます。 ディメンションには 2 種類あります。
ソース ディメンション - これらは、複数のソース キューブの 1 つに含まれるディメンションです。
派生ディメンション - これらは、新しい分析機能を提供するディメンションです。 派生ディメンションには、垂直方向または水平方向にスライスされたソース ディメンションに基づいて定義される標準ディメンション、またはディメンション メンバーのカスタム グループを含む標準ディメンションを指定できます。 また、派生ディメンションは、データ マイニング モデルに基づくデータ マイニング ディメンションである場合もあります。
Note
Dimension キーワードは、ディメンションまたは階層を参照できます。
セッション キューブは、主に、Microsoft Excel などのクライアント アプリケーションによって属性メンバーをカスタム メンバー グループに動的にグループ化するために使用されます。 セッション キューブでは、次のタスクを実行できます。
ソース キューブに存在するディメンションを削除する。
ディメンションの階層を追加または削除します。
メジャー グループまたは特定のメジャーを排除します。
既存の属性に対してグループを作成するために、属性バインドに基づいて新しい属性を追加します。
重要
セッション キューブ オブジェクトのセキュリティは、基になるソース オブジェクトのセキュリティを継承します。 アクションや計算スクリプトなどの他のオブジェクトも、セッション キューブによって継承されます。
CREATE SESSION CUBE ステートメントは、次の規則に従います。
親子階層ではグループ化を実行できません。
ROLAP ディメンションに対してグループ化を実行することはできません。
リンクされたディメンションに対してグループ化を実行することはできません。
カスタム ロールアップを使用してレベルに対してグループ化を実行することはできません。
分離された属性階層ではグループ化を実行できません。
レベル間の多対多リレーションシップ (年齢や性別など) を持つ階層である不自然階層に対してグループ化を実行することはできません。
MDX スクリプト内でキューブ名を明示的に参照しても、セッション キューブでは名前が異なるためグループ化によって参照が無効になります。 代わりに CURRENTCUBE キーワードを使用してください。
明示的な既定メンバーを持つディメンションではグループ化を実行できません。
グループ化を実行すると、元のサーバー キューブのセッション スコープ計算メンバーが削除されます。
サーバー キューブのキューブ ディメンションでグループ化を実行する場合、同じディメンションに基づくすべてのキューブ ディメンションに影響します。
例
次の例では、Reseller Sales Amount メジャー、Reseller ディメンション、Product ディメンション、Geography ディメンション、Date ディメンションを含む、セッション スコープバージョンの Adventure Works キューブを作成する方法を示します。 このセッション キューブ内に 2 つのグループが作成されます。1 つのグループにはヨーロッパの国/地域が含まれており、1 つのグループには 北米 のグループが含まれています。 このサンプルは、ユーザーがメンバーのカスタム グループを作成するときに Microsoft Excel によって発行される CREATE SESSION CUBE ステートメントの簡略化されたバージョンです。
CREATE SESSION CUBE [Adventure Works_XL_GROUPING1]
FROM [Adventure Works]
( MEASURE [Adventure Works].[Internet Sales Amount]
,MEASURE [Adventure Works].[Reseller Sales Amount]
,DIMENSION [Adventure Works].[Date].[Calendar]
,DIMENSION [Adventure Works].[Date].[Calendar Year]
,DIMENSION [Adventure Works].[Date].[Calendar Semester]
,DIMENSION [Adventure Works].[Date].[Calendar Quarter]
,DIMENSION [Adventure Works].[Date].[Month Name]
,DIMENSION [Adventure Works].[Date].[Date]
,DIMENSION [Adventure Works].[Geography].[Country]
HIDDEN AS _XL_GROUPING81
,DIMENSION [Adventure Works].[Geography].[State-Province]
,DIMENSION [Adventure Works].[Geography].[City]
,DIMENSION [Adventure Works].[Geography].[Postal Code]
,DIMENSION [Adventure Works].[Geography].[Geography]
,DIMENSION [Adventure Works].[Product].[Product Categories]
,DIMENSION [Adventure Works].[Product].[Category]
,DIMENSION [Adventure Works].[Product].[Subcategory]
,DIMENSION [Adventure Works].[Product].[Product]
,DIMENSION [Adventure Works].[Product].[Product Key]
,DIMENSION [Adventure Works].[Reseller].[Reseller]
,DIMENSION [Adventure Works].[Reseller].[Geography Key]
,DIMENSION [Geography].[Country]
NOT_RELATED_TO_FACTS FROM _XL_GROUPING81
( LEVEL [(All)]
,LEVEL [Country1] GROUPING
,LEVEL [Country]
,GROUP [Country1].[CountryXl_Grp_1]
( MEMBER [Geography].[Country].&[Canada]
,MEMBER [Geography].[Country].&[United States] )
,GROUP [Country1].[CountryXl_Grp_2]
( MEMBER [Geography].[Country].&[France]
,MEMBER [Geography].[Country].&[Germany]
,MEMBER [Geography].[Country].&[United Kingdom] )
)
)