MDX 同环比(最全方案)

24 篇文章 0 订阅
2 篇文章 0 订阅

1. 当你的时间是时间点(2017-03-01)

with

member [Measures].[TOTAL_MONEY_环比] as '

(([Measures].[TOTAL_MONEY] / ([Measures].[TOTAL_MONEY], [ADD_T_1].[CAL_DATE].CurrentMember.PrevMember)) - 1)', FORMAT_STRING = "Percent"
select

NON EMPTY {[Measures].[TOTAL_MONEY_环比]} ON COLUMNS,
  NON EMPTY TopCount({[ADD_T_1].[CAL_DATE].[2017-03-01]}, 100) ON ROWS
from [F_DRUG_USE]

说明:

这里使用的PrevMember关键字,意思就是当前轴,当前元素的上一个元素,可以理解为环比,然后直接在另一个轴上指定维度即可


 with

member [Measures].[TOTAL_MONEY_同比] as '

(([Measures].[TOTAL_MONEY] / (ParallelPeriod([ADD_T_1].[CAL_DATE].[CAL_DATE], 366, [ADD_T_1].[CAL_DATE].CurrentMember), [Measures].[TOTAL_MONEY])) - 1)', FORMAT_STRING = "Percent"
select

NON EMPTY {[Measures].[TOTAL_MONEY_同比]} ON COLUMNS,
  NON EMPTY TopCount({[ADD_T_1].[CAL_DATE].[2017-03-01]}, 100) ON ROWS
from [F_DRUG_USE]

说明:

这里使用的ParallelPeriod函数,表示在某一个轴上,把所选的维度向前移动多少个单位,其实光凭这个函数,就可以做同环比了。我使用的时间是年月日粒度的,所以要回推366(闰年)天,如图是年或者季度,那么那个数字就是1或者4.

2. 当你的时间为时间段

with 
member [Measures].[TOTAL_MONEY_同比] as 
'(([Measures].[TOTAL_MONEY] / (ParallelPeriod([ADD_T_1].[CAL_DATE].[CAL_DATE], 366, [ADD_T_1].[CAL_DATE].CurrentMember), [Measures].[TOTAL_MONEY])) - 1)', FORMAT_STRING = "Percent"

select NON EMPTY {[Measures].[TOTAL_MONEY_同比]} ON COLUMNS,
  NON EMPTY TopCount({([ADD_T_1].[CAL_DATE].[2017-03-01] : [ADD_T_1].[CAL_DATE].[2017-03-31])}, 100) ON ROWS
from [F_DRUG_USE]


with

member [Measures].[TOTAL_MONEY_环比] as

'(([Measures].[TOTAL_MONEY] / ([Measures].[TOTAL_MONEY], [ADD_T_1].[CAL_DATE].CurrentMember.PrevMember)) - 1)', FORMAT_STRING = "Percent"
select

NON EMPTY {[Measures].[TOTAL_MONEY_环比]} ON COLUMNS,
  NON EMPTY TopCount({([ADD_T_1].[CAL_DATE].[2017-03-01] : [ADD_T_1].[CAL_DATE].[2017-03-31])}, 100) ON ROWS
from [F_DRUG_USE]

说明:

区间时间的和第一条实际一样,只不过时间不同。有人使用Cousin这个函数,我当初没试成功,所以就没用。ParallelPeriod和他一样。

后面做同环比的时间不显示在图表中等几种,有时间了再更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值