運算式 (MDX)
運算式是識別碼、值和運算子的組合,可評估以取得結果。 存取或變更資料時,資料可用於數個不同的位置。 例如,您可以使用運算式作為查詢所擷取之資料的一部分,或做為搜尋條件來尋找符合一組準則的資料。
簡單和複雜的運算式
運算式在 MDX 中可以是簡單或複雜的:
簡單運算式可以是下列其中一個運算式:
持續性
常數是表示 MDX 中單一特定值的符號。 字串、數值和日期值可以轉譯為常數。 不同于數值常數,字串和日期常數必須以單引號 (') 字元分隔。
純量函式
純量函式會在 MDX 中的評估內容中傳回單一值。 這項區別對於瞭解 MDX 如何解析純量函式很重要,因為大部分的 MDX 運算式、語句和腳本都是透過單一資料元素來評估,而是反復評估一組資料元素,例如儲存格或成員。 不過,在評估純量函式時,函式通常會檢閱單一資料元素。
物件識別碼
MDX 是物件導向,因為多維度資料的性質。 物件識別碼會被視為 MDX 中的簡單運算式。 如需識別碼的詳細資訊,請參閱 識別碼(MDX)。
您可以從運算子聯結的這些實體組合建置複雜的運算式。
運算式結果
針對單一常數、變數、純量函數或資料行名稱所建置的簡單運算式,運算式的資料類型、定序、有效位數、小數位數和值是參考元素的資料類型、定序、有效位數、小數位數和值。 因為 MDX 只支援 OLE VARIANT 資料類型,因此在使用簡單運算式時,不應該發生強制。
對於複雜的運算式,使用兩個或多個具有不同資料類型的簡單運算式時,可能會發生強制。
運算式範例
下列查詢顯示其定義為簡單運算式的匯出量值範例:
WITH
MEMBER MEASURES.CONSTANTVALUE AS 1
MEMBER MEASURES.SCALARFUNCTION AS [Date].[Calendar Year].CURRENTMEMBER.NAME
MEMBER MEASURES.OBJECTIDENTIFIER AS [Measures].[Internet Sales Amount]
SELECT
{ MEASURES.CONSTANTVALUE, MEASURES.SCALARFUNCTION, MEASURES.OBJECTIDENTIFIER } ON 0,
[Date].[Calendar Year].MEMBERS ON 1
FROM [Adventure Works]
運算式也可以是計算,例如 [Measures].[Discount Amount] * 1.5
。 下列範例示範如何使用計算在 MDX SELECT 語句中定義成員:
WITH
MEMBER [Measures].[Special Discount] AS
[Measures].[Discount Amount] * 1.5
SELECT
[Measures].[Special Discount] on COLUMNS,
NON EMPTY [Product].[Product].MEMBERS ON Rows
FROM [Adventure Works]
WHERE [Product].[Category].[Bikes]
本節內容
主題 | 說明 |
---|---|
使用 Cube 和 Subcube 運算式 | 定義 Cube 和 Subcube 運算式。 |
使用維度運算式 | 定義維度運算式。 |
使用成員運算式 | 定義成員運算式。 |
使用 Tuple 運算式 | 定義元組運算式。 |
使用集合運算式 | 定義集合運算式。 |
使用純量運算式 | 定義純量運算式。 |
使用空值 | 描述空值是什麼,以及如何處理這類值。 |