認識mdx
1, as 2005 cube結構
在認識mdx之前先來認識下as 2005 cube結構。如下圖,cube的結構裡有維度和量值,而維度下有階層(屬性),階層下有層級,每個層級有許多成員。
多維表示式(multidimensional expressions,mdx),是以陳述式為基礎的指令碼語言,用來在ssas中定義、使用和擷取多維體內的資料。
3,mdx多維查詢語法
mdx語法
with
[<
匯出成員
>]
[<
自定義命名
] [<
單元格計
] select
on<
[,on
<
…] from
[名]
where
[切]
匯出成員語法
member
成員名
as'<
計算公式
>'
[,solve_order = 解決順
] [,= ]
[,format_string = <
顯示格式
>]
命名集語法
set<
集合名稱
> as '<
成員集合
>'
單元格計算語法
cell
calculation
<
單元格名稱
>
for '()'
as ''
[,]
1)新增匯出成員示例
with
--新增
匯出成員
member
[measures].[
達成率] as
'[measures].[sales amount]/[measures].[sales amount quota]'
,format_string='percent' --
顯示百分比
--新增
匯出成員
member
[measures].[
去年同期達¦¨率
] as
'(parallelperiod([date].[calendar].[calendar year]),[measures].[
達成率])'
,format_string='percent' --
顯示百分比
select on 0,
on 1
from [adventure works]
where [date].[calendar].[calendar year].&[2004];
2)新增命名集示例
with
--自訂命名集
產品名稱開頭
為ml的所有產品
set ml as
filter([product].[product].[product].members,
mid([product].[product].currentmember.name,1,2)='ml')
select on 0,
nonempty
--null不顯示
,注釋測試
on 1
from [adventure works];
3)單元個計算示例
with
cell
calculation [cells]
for ''
as '1'
select
on 0,
on 1
from [adventure works]
MDX常用函式
mdx支援的主要函式 注意 1.紅色表示常用函式。2.詳細用法和功能介紹見 函式名功能 成員函式 ancestor level,member ancestor level,numeric 返回指定級別或指定距離上成員的祖先。closingperiod level,member 返回成員在指定級別上的...
基本 MDX 查詢
基本查詢,那就是select嘍 1 指定結果集 就是你要查詢什麼樣的資料 1.mdx 的基本結構 mdx 的基本結構有三種 members,tuple 和 set 2.members 指的是維度樹上的乙個節點,這裡有一點需要指出,量度也是乙個特殊的維度,所以對於普通維度上的 member 可以有幾下...
MDX 量值分值排序
注 根據算出來的動銷率,分為暢銷和滯銷,然後分別排出暢銷的動銷率名次 和 滯銷的動銷率名次 mdx 如下 with member measures 淨出量 as measures 倉庫出貨數量 measures 倉庫收退貨數量 member measures 動銷率 as iif measures ...