運算子 (MDX 語法)
在多維度運算式 (MDX) 中,運算子可讓您執行下列動作:
永久或暫時變更資料。
搜尋符合指定條件的值或物件。
實作值或運算式之間的決策。
先測試特定條件,再開始或認可交易,或在執行特定語句之前。
MDX 支援下表所列的運算子:
若要執行這種類型的作業 | 使用 |
---|---|
將值指派給變數,或將結果集資料行與別名產生關聯。 | 指派運算子 |
加法、減法、乘法、除法。 | 算術運算子 |
測試條件的真相,例如 AND、OR、NOT 和 XOR。 | 位元運算子 |
比較值與另一個值或運算式。 | 比較運算子 |
永久或暫時將兩個字串合併成一個字串。 | 串連運算子 |
永久或暫時將兩個集合運算式合併成單一集合。 | 集合運算子 |
在一個運算元上執行作業。 | 一元運算子 |
注意
在查詢中,任何可以看到 Cube 中要搭配某種運算子使用之資料的人都可以執行作業。 不過,您需要適當的許可權,才能成功變更資料。
使用多個運算子時,MDX 評估運算子的順序很重要。 同樣地,運算子的使用者可能需要先將一個資料類型轉換成另一個資料類型,才能評估運算子。
評估複雜運算式
您可以使用運算子來結合數個較小的運算式來建置運算式。 在這些複雜的運算式中,MDX 會根據 Analysis Services 所使用的運算子優先順序定義來評估運算子。 MDX 會先執行優先順序較高的運算子,再執行優先順序較低的運算子。
瞭解運算子優先順序
下列清單顯示運算子優先順序,從最高到最低。 相同行中的運算子在優先順序上相等,除非由括弧強制,否則會從左至右進行評估:
IS
:
^
/, *
+, -
<>, >=, =, <=, >, <
NOT
且
Xor
OR
如需 MDX 中運算子的詳細資訊,請參閱 MDX 運算子參考 (MDX)。
判斷結果
當您結合簡單運算式以形成複雜運算式時,結合資料類型優先順序規則的運算子規則會決定結果值的資料類型。
如果結果為字元或 Unicode 值,則結合定序優先順序規則之運算子的規則會決定結果的定序。 如需定序的詳細資訊,請參閱 語言和定序(Analysis Services)。
另外還有規則會根據簡單運算式的有效位數、小數位數和長度來判斷結果的有效位數、小數位數和長度。
轉換資料類型
MDX 會在需要不同類型的運算式中使用該物件時,隱含地將物件轉換成不同的類型。 下表定義每個物件的轉換規則。
原始類型 | 需要類型 | 轉換 |
---|---|---|
層級 | 設定 | <level.members > |
階層 | 成員 | <hierarchy.defaultmember > |
成員 | Tuple | ( < 成員 > ) |
Tuple | 成員 | <tuple.item > (0) |
Tuple | Scalar | <tuple.value > |