UPDATE CUBE (MDX)
更新 Cube 內指定的分葉或非分葉資料格的值,選擇性地跨相依分葉資料格,配置指定之非分葉資料格的值。
語法
UPDATE [ CUBE ] Cube_Name SET
<update clause>
[, <update clause> ...n ]
<update clause> ::=
Tuple_Expression[.VALUE]= New_Value
[
NO_ALLOCATION
| USE_EQUAL_ALLOCATION
| USE_EQUAL_INCREMENT
| USE_WEIGHTED_ALLOCATION [ BY Weight_Expression]
| USE_WEIGHTED_INCREMENT [ BY Weight_Expression]
]
引數
Cube_Name
提供 Cube 名稱的有效字串。Tuple_Expression
傳回 Tuple 的有效多維度運算式 (MDX) 運算式。New_Value
有效的數值運算式。Weight_Expression
傳回介於 0 和 1 間之十進位值的有效多維度運算式 (MDX) 數值運算式。
備註
由 Tuple 運算式指定的資料格可以是多維度空間的任何有效資料格 (亦即,資料格不需要是分葉資料格)。但是,資料格必須以 Sum 彙總函式彙總,而且絕不能包括 Tuple 內用以識別資料格的導出成員。
將 UPDATE CUBE 陳述式視為會自動產生一連串個別資料格的副程式,將作業回寫到會積存到指定總和的分葉與非分葉資料格,可能會有幫助。
下表描述配置方法。
配置方法 |
說明 |
---|---|
USE_EQUAL_ALLOCATION |
提供給更新資料格的每個分葉資料格,將會根據以下運算式指派相等的值:
|
USE_EQUAL_INCREMENT |
提供給更新資料格的每個分葉資料格,將會根據以下運算式來變更:
|
USE_WEIGHTED_ALLOCATION |
提供給更新資料格的每個分葉資料格,將會根據以下運算式指派相等的值:
|
USE_WEIGHTED_INCREMENT |
提供給更新資料格的每個分葉資料格,將會根據以下運算式來變更:
|
如果沒有指定加權運算式,UPDATE CUBE 陳述式會隱含使用下列運算式:
Weight_Expression = <leaf cell value> / <existing value>
加權運算式必須以零 (0) 到 1 之間的十進位值來表示。這個值指定您要指派給受配置影響之分葉資料格的配置值比例。用戶端應用程式設計人員負責建立的運算式,其積存彙總值將等於運算式配置值。
警告 |
---|
用戶端應用程式必須同時考慮所有維度的配置,避免發生非預期的結果,包括不正確的積存值或不一致的資料。 |
對於交易用途,每個 UPDATE CUBE 配置都應該視為不可部分完成。這代表,如果有任何配置作業因任何原因而失敗,例如公式有誤,或安全性違規,整個 UPDATE CUBE 作業將會失敗。處理個別配置作業之前,會先製作資料的快照集,以確定計算結果正確。
警告 |
---|
在包含整數的量值上使用時,累加的四捨五入變更會導致 USE_WEIGHTED_ALLOCATION 方法傳回不精確的結果。 |
重要事項 |
---|
當更新的資料格未重疊時,Update Isolation Level 連接字串屬性可用來增強 UPDATE CUBE 的效能。 |