メジャー オブジェクトは、個別に作成、変更、および削除できます。 メジャー オブジェクトには、次のオブジェクトが含まれます。
サーバー
データベース
次元
キューブ
測定グループ
パーティション
視点
マイニング モデル
役割
サーバーまたはデータベースに関連付けられているコマンド
データ ソース
Create コマンドを使用して、Microsoft SQL Server Analysis Services のインスタンスにメジャー オブジェクトを作成し、Alter コマンドを使用してインスタンス上の既存のメジャー オブジェクトを変更します。 どちらのコマンドも Execute メソッドを使用して実行されます。
オブジェクトの作成
Create
メソッドを使用してオブジェクトを作成する場合は、最初に作成する Analysis Services オブジェクトを含む親オブジェクトを識別する必要があります。 親オブジェクトを識別するには、Create
コマンドの ParentObject プロパティにオブジェクト参照を指定します。 各オブジェクト参照には、 Create
コマンドの親オブジェクトを一意に識別するために必要なオブジェクト識別子が含まれています。 オブジェクト参照の詳細については、「オブジェクト の定義と識別 (XMLA)」を参照してください。
たとえば、キューブの新しいメジャー グループを作成するには、キューブへのオブジェクト参照を指定する必要があります。
ParentObject
プロパティ内のキューブのオブジェクト参照には、データベース識別子とキューブ識別子の両方が含まれています。同じキューブ識別子が別のデータベースで使用される可能性があります。
ObjectDefinition 要素には、作成するメジャー オブジェクトを定義する Analysis Services スクリプト言語 (ASSL) 要素が含まれています。 ASSL の詳細については、「 Analysis Services スクリプト言語 (ASSL) を使用した開発」を参照してください。
Create
コマンドのAllowOverwrite
属性を true に設定すると、指定した識別子を持つ既存のメジャー オブジェクトを上書きできます。 それ以外の場合、指定した識別子を持つメジャー オブジェクトが親オブジェクトに既に存在する場合、エラーが発生します。
Create
コマンドの詳細については、「要素の作成 (XMLA)」を参照してください。
セッション オブジェクトの作成
セッション オブジェクトは、クライアント アプリケーションによって使用される明示的または暗黙的なセッションでのみ使用できる一時オブジェクトであり、セッションが終了すると削除されます。 セッション オブジェクトを作成するには、Create
コマンドのScope
属性を Session に設定します。
注
Session 設定を使用する場合、ObjectDefinition
要素には Dimension、Cube、または MiningModel ASSL 要素のみを含めることができます。
オブジェクトの変更
Alter
メソッドを使用してオブジェクトを変更する場合は、まず、Alter
コマンドの Object プロパティにオブジェクト参照を指定して、変更するオブジェクトを識別する必要があります。 各オブジェクト参照には、 Alter
コマンドのオブジェクトを一意に識別するために必要なオブジェクト識別子が含まれています。 オブジェクト参照の詳細については、「オブジェクト の定義と識別 (XMLA)」を参照してください。
たとえば、キューブの構造を変更するには、キューブへのオブジェクト参照を指定する必要があります。
Object
プロパティ内のキューブのオブジェクト参照には、データベース識別子とキューブ識別子の両方が含まれています。同じキューブ識別子が別のデータベースで使用される可能性があります。
ObjectDefinition
要素には、変更するメジャー オブジェクトを定義する ASSL 要素が含まれています。 ASSL の詳細については、「 Analysis Services スクリプト言語 (ASSL) を使用した開発」を参照してください。
Alter
コマンドのAllowCreate
属性を true に設定すると、オブジェクトが存在しない場合は、指定したメジャー オブジェクトを作成できます。 それ以外の場合は、指定したメジャー オブジェクトがまだ存在しない場合にエラーが発生します。
ObjectExpansion 属性の使用
メジャー オブジェクトのプロパティのみを変更していて、メジャー オブジェクトに含まれるマイナー オブジェクトを再定義しない場合は、Alter
コマンドのObjectExpansion
属性を ObjectProperties に設定できます。
ObjectDefinition
プロパティには、メジャー オブジェクトのプロパティの要素のみを含める必要があり、Alter
コマンドを実行すると、メジャー オブジェクトに関連付けられたマイナー オブジェクトはそのまま残ります。
メジャー オブジェクトのマイナー オブジェクトを再定義するには、 ObjectExpansion
属性を ExpandFull に設定し、オブジェクト定義に、メジャー オブジェクトに含まれるすべてのマイナー オブジェクトを含める必要があります。
Alter
コマンドのObjectDefinition
プロパティに、メジャー オブジェクトに含まれるマイナー オブジェクトが明示的に含まれていない場合、含まれていないマイナー オブジェクトは削除されます。
セッション オブジェクトの変更
Create
コマンドによって作成されたセッション オブジェクトを変更するには、Alter
コマンドのScope
属性を Session に設定します。
注
Session 設定を使用する場合、ObjectDefinition
要素には Dimension、Cube、または MiningModel ASSL 要素のみを含めることができます。
下位オブジェクトの作成または変更
Create
またはAlter
コマンドは最上位の 1 つのメジャー オブジェクトのみを作成または変更しますが、作成または変更されるメジャー オブジェクトには、それに従属する他のメジャー オブジェクトとマイナー オブジェクトの外側のObjectDefinition
プロパティ内の定義を含めることができます。 たとえば、キューブを定義する場合は、 ParentObject
で親データベースを指定し、 ObjectDefinition
のキューブ定義内でキューブのメジャー グループを定義し、メジャー グループ内で各メジャー グループのパーティションを定義できます。 マイナー オブジェクトは、それを含むメジャー オブジェクトの下でのみ定義できます。 メジャー オブジェクトとマイナー オブジェクトの詳細については、「 データベース オブジェクト (Analysis Services - 多次元データ)」を参照してください。
例示
説明
次の例では、Adventure Works DW 多次元 2012 サンプル Microsoft SQL Server データベースを参照するリレーショナル データ ソースを作成します。
コード
<Create xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<ParentObject>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
</ParentObject>
<ObjectDefinition>
<DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">
<ID>AdventureWorksDW2012</ID>
<Name>AdventureWorksDW2012</Name>
<ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorksDW2008R2;Integrated Security=True</ConnectionString>
<ImpersonationInfo>
<ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>
</ImpersonationInfo>
<ManagedProvider>System.Data.SqlClient</ManagedProvider>
<Timeout>PT0S</Timeout>
</DataSource>
</ObjectDefinition>
</Create>
説明
次の例では、前の例で作成したリレーショナル データ ソースを変更して、データ ソースのクエリ タイムアウトを 30 秒に設定します。
コード
<Alter ObjectExpansion="ObjectProperties" xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
<DataSourceID>AdventureWorksDW2012</DataSourceID>
</Object>
<ObjectDefinition>
<DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">
<ID>AdventureWorksDW2012</ID>
<Name>AdventureWorksDW2012</Name>
<ConnectionString>Data Source=fr-dwk-02;Initial Catalog=AdventureWorksDW2008R2;Integrated Security=True</ConnectionString>
<ManagedProvider>System.Data.SqlClient</ManagedProvider>
<Timeout>PT30S</Timeout>
</DataSource>
</ObjectDefinition>
</Alter>
コメント
Alter
コマンドのObjectExpansion
属性が ObjectProperties に設定されました。 この設定により、マイナー オブジェクトである ImpersonationInfo 要素を、 ObjectDefinition
で定義されたデータ ソースから除外できます。 そのため、最初の例で指定されているように、そのデータ ソースの偽装情報はサービス アカウントに設定されたままです。
こちらもご覧ください
Execute メソッド (XMLA)
Analysis Services スクリプト言語 (ASSL) を使用した開発
Analysis Services での XMLA を使用した開発