MDX 量值分值排序

2021-07-07 03:37:33 字數 1790 閱讀 1755

注:根據算出來的動銷率,分為暢銷和滯銷,然後分別排出暢銷的動銷率名次 和 滯銷的動銷率名次

mdx **如下:

with 

member [measures].[淨出量] as [measures].[倉庫出貨數量]-[measures].[倉庫收退貨數量]

member [measures].[動銷率] as iif([measures].[淨出量]=0,0,[measures].[終端銷售數量]/[measures].[淨出量]),format_string="0.00"

member [measures].[暢滯] as

case when [measures].[動銷率] = null then ''

when [measures].[動銷率]>0.9 then '暢'

when [measures].[動銷率]<0.7 then '滯'

else '' end

set orderc as

order(filter([貨品].[貨品id].[貨品id].allmembers,[measures].[動銷率]>0.9 and [measures].[動銷率] <> null),[measures].[動銷率], bdesc )

set orderz as

order(filter([貨品].[貨品id].[貨品id].allmembers,[measures].[動銷率]<0.7 and [measures].[動銷率] <> null),[measures].[動銷率], bdesc )

member [measures].[rank] as

case when cstr([measures].[暢滯]) = '暢' then '暢'+ cstr(rank([貨品].[貨品id].currentmember, orderc) )

when cstr([measures].[暢滯]) = '滯' then '滯'+ cstr(rank([貨品].[貨品id].currentmember, orderz) )

else '' end

select on columns,

non empty

dimension properties member_caption, member_unique_name on rows

from ( select ( ) on columns

from ( select ( ) on columns

from ( select ( ) on columns

from ( select ( ) on columns

from ( select ( ) on columns

from ( select ( ) on columns

from ( select ( ) on columns

from [regentcube]))))))) where

( [貨品].[年份].currentmember, [貨品].[季節].currentmember, [貨品].[品牌].currentmember,[日期].[年月].currentmember )

cell properties value, back_color, fore_color, formatted_value, format_string, font_name, font_size, font_flags

結果如下圖:

MDX學習 初始MDX

認識mdx 1,as 2005 cube結構 在認識mdx之前先來認識下as 2005 cube結構。如下圖,cube的結構裡有維度和量值,而維度下有階層 屬性 階層下有層級,每個層級有許多成員。多維表示式 multidimensional expressions,mdx 是以陳述式為基礎的指令碼語...

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 可以有幾下...