CREATE ACTION ステートメント (MDX)
キューブ、ディメンション、階層、下位オブジェクトに関連付けられるアクションを作成します。
構文
CREATE ACTION CURRENTCUBE | Cube_Name
.Action_Name <action body>
<action body> ::=
FOR
CUBE
| Hierarchy_Name [MEMBERS]
| Level_Name [MEMBERS]
| CELLS
| SET }
AS 'MDX_Expression'
[, TYPE = '
{ URL
| HTML
| STATEMENT
| DATASET
| ROWSET
| COMMANDLINE
| PROPRIETARY }
']
[ , INVOCATION = 'INTERACTIVE | ON_OPEN | BATCH ' ]
[ , APPLICATION = String_Expression ]
[ , DESCRIPTION = String_Expression ]
[ , CAPTION = 'MDX_Expression' ]
引数
Cube_Name
キューブ名を指定する有効な文字列です。Action_ Name
作成するアクションの名前を指定する有効な文字列です。Hierarchy_ Name
階層名を指定する有効な文字列です。Level_ Name
レベル名を指定する有効な文字列です。Member_ Name
メンバ名またはメンバ キーを指定する有効な文字列です。MDX_Expression
有効な MDX 式です。String_Expression
有効な文字列式です。
説明
クライアント アプリケーションが安全でないアクションを作成して実行したり、安全でない関数を使用したりする可能性もあります。そのような事態を避けるには、Safety Options プロパティを使用します。詳細については、「Safety Options プロパティ」を参照してください。
注 |
---|
このステートメントは、旧バージョンとの互換性のために用意されています。SQL Server Analysis Services で新しく追加されたアクション (ドリルスルーやレポート) はサポートされていません。 |
アクションの種類
Microsoft SQL Server Analysis Services で使用できるアクションの種類は次のとおりです。
アクションの種類 |
説明 |
---|---|
URL |
返されるアクション文字列は、インターネット ブラウザで開く URL です。
注
このアクションが http:// または https:// で始まっていない場合は、SafetyOptions を DBPROPVAL_MSMD_SAFETY_OPTIONS_ALLOW_ALL に設定しない限り、ブラウザでそのアクションを実行することはできません。
|
HTML |
返されるアクション文字列は、HTML スクリプトです。その文字列をファイルに保存して、そのファイルをインターネット ブラウザで処理します。この場合は、生成された HTML の一部としてスクリプト全体を実行できます。 |
STATEMENT |
返されるアクション文字列はステートメントです。そのステートメントは、コマンド オブジェクトの ICommand::SetText メソッドをその文字列に設定し、ICommand::Execute メソッドを呼び出すことによって実行する必要があります。コマンドが成功しなかった場合は、エラーが返されます。 |
DATASET |
返されるアクション文字列は、MDX ステートメントです。その MDX ステートメントは、コマンド オブジェクトの ICommand::SetText メソッドをその文字列に設定し、ICommand::Execute メソッドを呼び出すことによって実行する必要があります。要求するインターフェイス ID (IID) は、IDataset です。データセットが作成されれば、コマンドは成功したことになります。クライアント アプリケーションでは、返されたデータセットをユーザーが表示できるようにする必要があります。 |
ROWSET |
基本的に DATASET と同じですが、クライアント アプリケーションでは、IDataset の IID を要求する代わりに、IRowset の IID を要求します。行セットが作成されれば、コマンドは成功したことになります。クライアント アプリケーションでは、返された行セットをユーザーが表示できるようにする必要があります。 |
COMMANDLINE |
クライアント アプリケーションでアクション文字列を実行します。その文字列は、コマンド ラインです。 |
PROPRIETARY |
クライアント アプリケーションが、特有のアクションに関するカスタム情報や一般的でない情報を認識できるのでない限り、この種のアクションの表示や実行を行うべきではありません。APPLICATION_NAME に対する適切な制限を設定したうえで、クライアント アプリケーションが独自のアクションを明示的に要求するのでなければ、独自のアクションがクライアント アプリケーションに返されることはありません。 |
呼び出しの種類
Analysis Services で使用できる呼び出しの種類は以下のとおりです。クライアント アプリケーションでは、呼び出しの種類に基づいて、アクションを呼び出すタイミングを判別します。呼び出しの種類によって、アクションの呼び出しの動作が実際に決まるわけではありません。
呼び出しの種類 |
説明 |
---|---|
INTERACTIVE |
クライアント アプリケーションは、ユーザーとの対話によってアクションを呼び出します。 |
ON_OPEN |
クライアント アプリケーションは、対象のオブジェクトが開かれた時点でアクションを呼び出します。この呼び出しの種類は、現在実装されていません。 |
BATCH |
クライアント アプリケーションは、対象のオブジェクトがバッチ操作にかかわった時点を判別してアクションを呼び出します。この呼び出しの種類は、現在実装されていません。 |
スコープ
各アクションは、特定のキューブに対して定義するものであり、そのキューブ内で一意の名前を持ちます。アクションには、以下のいずれかのスコープを設定できます。
キューブ スコープ
特定のディメンション、メンバ、セルに限定されないアクションです。たとえば、"AS/400 実稼働システムの端末エミュレーションの起動" などは、これに相当します。ディメンション スコープ
特定のディメンションに適用されるアクションです。この種のアクションは、選択された特定のレベルまたはメンバに依存しません。レベル スコープ
特定のディメンション レベルに適用されるアクションです。この種のアクションは、そのディメンション内で選択された特定のメンバに依存しません。メンバ スコープ
特定のレベル メンバに適用されるアクションです。セル スコープ
特定のセルだけに適用されるアクションです。セット スコープ
1 つのセットだけに適用されるアクションです。ActionParameterSet という名前は、そのアクションの式の中でアプリケーションが使用する予約語です。