|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622 。
您需要 登录 才可以下载或查看,没有帐号?注册
x
1. 多个相关列求加权平均
Question:
使用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语句或者表达式如何去求。
Answer:
with member [Measures].[a] as '([Measures].[Store Sales]+[Measures].[Store Cost])*[Measures].[Sales Count]'
member [Measures].[b] 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
其中,假定:
1) price = [Measures].[Sales Count]
customer= [Measures].[Store Sales]
consumer =[Measures].[Store Cost]
2) 地区1=USA
USA的三条数据发生在Q1,Q2,Q3
补充说明:
如果和USA同轴的不止时间轴,则可将余下的轴执行{{轴1成员集合}*{……}*{轴n成员集合}}操作,替代解答中的{[Time].[1997].[Q1],[Time].[1997].[Q2],[Time].[1997].[Q3]},因为CrossJion的结果仍然是SET.
|
|