建立可以與 Cube、維度、階層或次級對象相關聯的動作。
語法
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
提供 Cube 名稱的有效字串。
Action_名稱
提供所建立動作名稱的有效字串。
Hierarchy_名稱
提供階層名稱的有效字串。
Level_名稱
提供層級名稱的有效字串。
Member_名稱
提供成員名稱或成員金鑰的有效字串。
MDX_Expression
有效的 MDX 運算式。
String_Expression
有效的字串表達式。
備註
用戶端應用程式可以建立並執行不安全的動作;用戶端應用程式也可以使用不安全的函式。 若要避免這些情況,請使用 Safety Options 屬性。 如需詳細資訊,請參閱SafetyOptions屬性。
備註
此陳述為了向後相容性而包含。 不支援 Analysis Services 的新動作,例如鑽研或報表動作。
動作類型
下表描述 Analysis Services 中可用的不同動作類型。
| 動作類型 | 說明 |
|---|---|
| 網址 | 傳回的動作字串是應該使用因特網瀏覽器開啟的URL。 注意:如果此動作不是以 https:// 或 https://開頭,除非 SafetyOptions 設定為 DBPROPVAL_MSMD_SAFETY_OPTIONS_ALLOW_ALL,否則瀏覽器將無法使用此動作。 |
| HTML | 傳回的動作字串是 HTML 腳本。 字串應該儲存至檔案,而且應該使用因特網瀏覽器來轉譯檔案。 在此情況下,整個腳本可能會以產生的 HTML 一部分執行。 |
| 陳述 | 傳回的動作字串是一個語句,必須藉由將命令物件的 ICommand::SetText 方法設定為字元串並呼叫 ICommand::Execute 方法來執行。 如果命令失敗,則會傳回錯誤。 |
| 數據 | 傳回的動作字串是需要執行的 MDX 語句,方法是將命令物件的 ICommand::SetText 方法設定為字串並呼叫 ICommand::Execute 方法。 要求的介面識別碼 (IID) 應該是 IDataset。 如果已建立數據集,命令就會成功。 用戶端應用程式應該允許使用者流覽傳回的數據集。 |
| ROWSET | 類似於 DATASET,但用戶端應用程式應該要求 IRowset 的 IID,而不是要求 IDataset 的 IID。 如果已建立數據列集,命令就會成功。 用戶端應用程式應該允許使用者流覽傳回的數據列集。 |
| COMMANDLINE | 用戶端應用程式應該執行動作字串。 字串是命令行。 |
| 專有 | 除非應用程式具有特定動作的自定義非一般知識,否則用戶端應用程式不應顯示或執行動作。 除非用戶端應用程式明確要求這些動作,方法是對 APPLICATION_NAME設定適當的限制,否則不會將專屬動作傳回給客戶端應用程式。 |
調用類型
下表描述 Analysis Services 中可用的不同類型的調用。 調用類型只會由用戶端應用程式用來協助判斷何時叫用動作。 調用類型實際上不會判斷動作的調用行為。
| 調用類型 | 說明 |
|---|---|
| 互動 | 用戶端應用程式應該透過使用者互動叫用動作。 |
| ON_OPEN | 開啟目標物件時,用戶端應用程式應該叫用動作。 此調用類型目前尚未實作。 |
| 批 | 當目標物件涉及批次作業時,用戶端應用程式應該叫用動作,如用戶端應用程式所決定。 此調用類型目前尚未實作。 |
影響範圍
每個動作都會針對特定 Cube 定義,並在該 Cube 中具有唯一的名稱。 動作可以有下表所列的其中一個範圍。
Cube 範圍
對於與特定維度、成員或儲存格無關的動作;例如:「啟動 AS/400 生產系統的終端機模擬」。
維度範圍
動作會套用至特定維度。 這些動作不取決於特定層級或成員的選擇。
層級範圍
動作會套用至特定的維度層級。 這些動作不相依於該維度中成員的特定選取專案。
成員範圍
動作適用於特定層級成員。
單元格範圍
動作僅適用於特定儲存格。
集合範圍
動作僅適用於集合。 名稱 ActionParameterSet 會保留供應用程式在動作表達式內使用。