MDX データ操作 - CREATE GLOBAL CUBE
サーバー上のキューブのサブキューブに基づいて、ローカルに永続化されたキューブを作成して設定します。 ローカルに永続化されたキューブに接続するために、サーバーへの接続は必要ありません。 ローカル キューブの詳細については、「 ローカル キューブ (Analysis Services - 多次元データ)」を参照してください。
構文
CREATE GLOBAL CUBE local_cube_name STORAGE 'Cube_Location'
FROM source_cube_name (<param 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>::= < dim DM from clause> | <reg dim from clause>
<dim DM from clause>::= dm_model_name> COLUMN column_name
<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
構文要素
local_cube_name
ローカル キューブの名前です。
'Cube_Location'
ローカルに保持されるキューブの名前とパスです。
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 キーワードは、ディメンションまたは階層を参照できます。
ローカル キューブでは次のタスクを実行できます。
ソース キューブに存在するディメンションを削除する
ディメンションに階層を追加する、ディメンションから階層を削除する
メジャー グループまたは特定のメジャーを排除する
CREATE GLOBAL CUBE ステートメントは、以下の規則に従います。
CREATE GLOBAL CUBE ステートメントは、計算されるメジャーやアクションなどのすべてのコマンドを自動的にローカル キューブにコピーします。 親キューブを明示的に参照する多次元式 (MDX) 式がコマンドに含まれている場合、ローカル キューブはそのコマンドを実行できません。 この問題を回避するには、コマンドの MDX 式を定義するときに CURRENTCUBE キーワードを使用します。 CURRENTCUBE キーワードは、MDX 式内のキューブを参照するときに、現在のキューブ コンテキストを使用します。
ローカル キューブ ファイル内の既存のグローバル キューブから作成されたグローバル キューブは、同じローカル キューブ ファイルに保存できません。 たとえば、SalesLocal1 という名前のグローバル キューブを作成し、このキューブを C:\SalesLocal.cub ファイルに保存します。 次に、C:\SalesLocal.cub ファイルに接続し、SalesLocal2 という名前の 2 つ目のグローバル キューブを作成します。 SalesLocal2 グローバル キューブを C:\SalesLocal.cub ファイルに保存しようとすると、エラーが表示されます。 ただし、SalesLocal2 グローバル キューブは別のローカル キューブ ファイルに保存できます。
グローバル キューブでは、個別のカウント メジャーがサポートされません。 個別のカウント メジャーを含むキューブは非加法であるため、CREATE GLOBAL CUBE ステートメントでは、個別のカウント メジャーの作成や使用はできません。
ローカル キューブにメジャーを追加する場合は、追加するメジャーに関連するディメンションも最低 1 つ追加する必要があります。
親子階層をローカル キューブに追加する場合、親子階層のレベルとフィルターは無視され、親子階層全体が含まれます。
ローカル キューブではメンバー プロパティはサポートされません。
ローカル キューブは、パースペクティブからは作成できません。
準加法メジャーをローカル キューブに含めると、次の規則が適用されます。
追加するメジャーの AggregateFunction プロパティが ByAccount の場合、Account ディメンションを含める必要があります。
追加するメジャーの AggregateFunction プロパティが FirstChild、LastChild、FirstNonEmpty、LastNonEmpty、または AverageOfChildren の場合、Time ディメンション全体を含める必要があります。
データ マイニング ディメンションをローカル キューブに追加することはできません。
参照ディメンションは具体化され、標準ディメンションとして追加されます。
多対多ディメンションを含めると、次の規則が適用されます。
多対多ディメンション全体を追加する必要があります。
中間メジャー グループを追加する必要があります。
多対多リレーションシップに関係する 2 つのメジャー グループに共通するすべてのディメンションの全体を追加する必要があります。
次の例では、Reseller Sales Amount メジャー、Reseller ディメンション、Date ディメンションのみを含む Adventure Works キューブのローカルの永続化バージョンを作成する方法を示します。
CREATE GLOBAL CUBE [LocalReseller]
Storage 'C:\LocalAWReseller1.cub'
FROM [Adventure Works]
(
MEASURE [Adventure Works].[Reseller Sales Amount],
DIMENSION [Adventure Works].[Reseller],
DIMENSION [Adventure Works].[Date]
)
次の例では、ローカル キューブを作成するときのスライスを示します。 作成されるグローバル キューブは、会計年度レベルの 2005 メンバーによって垂直方向にスライスされ、Fiscal Year レベルと Month レベルで水平方向にスライスされた Adventure Works キューブに基づいています。
CREATE GLOBAL CUBE [LocalReseller]
Storage 'C:\LocalAWReseller2.cub'
FROM [Adventure Works]
(
MEASURE [Adventure Works].[Reseller Sales Amount],
DIMENSION [Adventure Works].[Reseller],
DIMENSION [Adventure Works].[Date]
(
LEVEL [Fiscal Year],
LEVEL [Month],
MEMBER [Date].[Fiscal].[Fiscal Year].&[2005]
)
)