在报表查询中经常要进行本期和上期比较,比如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
本文地址:http://com.8s8s.com/it/it20635.htm