使用MDX進行環比查詢

銀河使者發表於2008-03-08
在報表查詢中經常要進行本期和上期比較,比如3月銷售額和2月銷售額的比較!一般有絕對值和相對值之分,
如 本期增量=本期值-上期值;絕對值
   本期增幅=(本期值-上期值)/本期值;相對值
1:MDX本查詢
with member [time2].[本期增量] as '[time2].[所有 time2].[1997].[Q1].[3]-[time2].[所有 time2].[1997].[Q1].[2]'
        member [time2].[本期增幅] as '[time2].[本期增量]/[time2].[所有 time2].[1997].[Q1].[3]'
select
    {[time2].[所有 time2].[1997].[Q1].[3],[time2].[所有 time2].[1997].[Q1].[2],
    [time2].[本期增量],[time2].[本期增幅]} on columns,
   {[Measures].[Store Sales]}on rows
from Sales
3月和2月相比銷售量增量和增幅。
備註:1)如果無上期成員,則值為0;
2)MDX提供PrevMember函式表示上一個成員,[所有 time2].[1997].[Q1].[2]可以用[所有 time2].[1997].[Q1].[3].
PrevMember代替。
2:求解順序
如果生成多個計算成員,某個計算成員使用其它計算成員,則使用SOLVE_ORDER 指明生成順序
如:
with member [time2].[本期增量] as '[time2].[所有 time2].[1997].[Q1].[3]-[time2].[所有 time2].[1997].[Q1].[2]'
,SOLVE_ORDER = 1,
        member [time2].[本期增幅] as '[time2].[本期增量]/[time2].[所有 time2].[1997].[Q1].[3]'
SOLVE_ORDER = 2

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12921506/viewspace-201762/,如需轉載,請註明出處,否則將追究法律責任。

相關文章