您的位置:首页 > 其它

复杂或有趣的MDX问题求解(1)-多个相关列参与求加权平均值

2008-11-04 08:32 483 查看
收集网络或论坛的MDX语句求解问题,收集自己或别人(如果是别人,会特别注明)给出的解答,欢迎指正;暂未提供解答的,欢迎一起解答。



1. 多个相关列求加权平均

[b]Question:[/b]
使用MDX查询语句想求地区维度为‘1’的时候customer+consumer的加权平均数
假如在地区‘1’处有如下几条数据:
price customer consumer
1 10 20
2 30 40
3 50 60
想要的公式是:
[(10+20)×1 + (30+40)×2 + (50+60)×3]/(1+2+3)
使用MDX语句或者表达式如何去求。

[b]Answer:[/b]
with member [Measures].[a] as '([Measures].[Store Sales]+[Measures].[Store Cost])*[Measures].[Sales Count]'

member [Measures]. as 'sum({[Time].[1997].[Q1],[Time].[1997].[Q2],[Time].[1997].[Q3]},[Measures].[Sales Count])'

member [Measures].[result] as '[Measures].[a]/[Measures].[b]'

select

{[Measures].[result]} on columns,

{[Store].[All Stores].[USA]} on rows

from sales

[b]其中,假定
:
1) price = [Measures].[Sales Count]
customer= [Measures].[Store Sales]
consumer =[Measures].[Store Cost]
2) 地区1=USA
USA的三条数据发生在Q1,Q2,Q3

[b]补充说明:[/b]
如果和USA同轴的不止时间轴,则可将余下的轴执行{{轴1成员集合}*{……}*{轴n成员集合}}操作,替代解答中的{[Time].[1997].[Q1],[Time].[1997].[Q2],[Time].[1997].[Q3]},因为CrossJion的结果仍然是SET.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: