壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 388|回复: 0

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

[复制链接]
发表于 2012/3/15 23:35:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服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.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 16:27 , Processed in 0.010648 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表