MDX 資料定義 - CREATE ACTION
建立可以與 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 屬性。 如需詳細資訊,請參閱 Safety Options 屬性。
注意
此語句隨附于回溯相容性。 不支援 Analysis Services 的新動作,例如鑽研或報表動作。
動作類型
下表描述 Analysis Services 中可用的不同動作類型。
動作類型 | 描述 |
---|---|
URL | 傳回的動作字串是應該使用網際網路瀏覽器開啟的 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 會保留供應用程式在動作運算式內使用。