多維查詢表達式MDX基礎知識介紹
MDX的全稱是Mutil Dimensional Expressions ,是由 Microsoft ,Hyperion 等公司研究多維查詢表達式,是所有OLAP 高級分析所采用的核心查詢語言。
MDX 可以用來進行以下操作:
1.calculated members (計算成員)
2.Calculated Cells (計算單元)
3.Security Settion (安全設置)
4.Custom member formula ( 自定義函數 )
5.Custom level rollup ()
6.Actions (動作)
7.Named “ sets ” ( 命名集合 )
8.Server side formatting (服務器數據格式化)
MDX 的基本結構
MDX 的基本結構有三種: Members 、 Tuple 、 Set 。
1.Members :指的是維度樹上的一個節點,這里有一點需要指出,量度也是一個特殊的維度,所以對于普通維度上的 Member 可以有幾下幾種表示方法: [Customer] 或 [Time].[1996] 等,對于特殊的維度——量度而言,也可以表示一個 Member ,如: [Measures].[ unit sales] 等。
Member 的表示方法就是用中括號的形式,“ [……] ”。
2.Tuple :是由若干個 Members 組成,每一個維度上最多只能有一個 Member ,對于一個 Tuple 而言至少有一個維度,多則不限,同時對于沒有列出來的那就表示為默認的 Member 。 Tuple 的表示方法是小括號“ () ”,因為其又有 Member 構成,所以通常的格式為“ ([…],[…][…],…) ”;示例:
a)([Regin ].[USA])
b)([product].[ computers],[time].[2008]) 。
3.Sets :同一維度上若干個 Members 的集合,或者是若干個 Tuples 的集合,但這里有一個地方需要注意,那就是如果是若干個 Tuple 組成的集合是,各個 Tuple 里的 Member 之間存在著一定的對應關系。集合的表示方法用大括號“ {} ”,所以可能的表示方法為:
a){[time].[2008],[time].[2009],[time].[2000]} ,這里 Set 是由同一維度的若干個 Member 組成。
b){([computer],[usa ]),([ mobile],[china])} ,這個 Set 是由兩個 Tuples 組成,這里大家可以看到,在***個 Tuple 當中,***個 Member 是名為 computer 的產品,所以后面的 Tuple 的***個 Member 也必須是一個產品,所以我們這里看到的是 mobile ,***個 Tuple 里第二個 Member 是一個國家,所以第二個 Tuple 的第二個 Member 也必須是一個國家名,依次類推。
MDX 查詢語句
一個標準的 MDX 查詢語句就是由我們前面介紹的 MDX 的三個基本對象構成,也就是 Member 、 Tuple 、 Set 。
一個標準的 MDX 查詢的語法如下:
- SELECT Set ON COLUMNS,
- Set ON ROWS
- FROM Cube
- WHERE Tuple
示例:
- SELECT
- {[time].[ 1997],[time].[1998]}
- ON COLUMNS,
- {([product].[drink],[customer].[gender].[F]),( [product].[food],[customer].[gender].[M])}
- ON ROWS
- FROM
- [Sales]
- WHERE
- ([Measures].[ StoreSales ])
這個MDX 查詢就表示:查詢時間為 1997 和 1998 兩年的 drink 類產品,女消費者和 food 類產品男消費者的 Store Sales 。
關于多維查詢表達式MDX基礎知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!
【編輯推薦】