当前位置:首页 > 技术专区 >

SSAS求加权平均(在使用MDX查询语句的时候遇到一个

 SSAS求加权平均(在使用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语句或者表达式如何去求。)
 
5A:假定:
   1、price = [Measures].[Sales Count]
      customer= [Measures].[Store Sales]
      consumer =[Measures].[Store Cost]
   2、地区1=USA
      三条数据发生在Q1,Q2,Q3
 
 
则,MDX为:
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 
补充说明:
如果和USA同轴的不止时间轴,则可将余下的轴执行{{轴1成员集合}*{……}*{轴n成员集合}}操作,替代解答中的{[Time].[1997].[Q1],[Time].[1997].[Q2],[Time].[1997].[Q3]},因为CrossJion的结果仍然是SET.