基于mdx中不同数量的数字的平均值

时间:2015-03-17 14:30:44

标签: ssas mdx

我有一个查询

select [num] on 0, [measure][count] on 1 from [table];

它让我说下面

[num] - > 1 2 3
[count] - > 3 4 5

现在我想取出以下的平均值,即(1 * 3 + 2 * 4 + 3 * 5)/(3 + 4 + 5)。

有人可以为它建议一个mdx查询。

1 个答案:

答案 0 :(得分:2)

以下代码将每个成员的值与其计数相乘,并将其总结为一个新度量。

WITH MEMBER Measures.Multiplied AS

{num}.CURRENT.ITEM(0).ITEM(0).MEMBER_VALUE * [Measure].Count

MEMBER Measures.Avrg AS

SUM({num}, Measures.Multiplied)
/
SUM({num}, [Measure].Count)


select [num] on 0,
       {[measure].[count], Measures.Avrg} on 1
from [table];

<强>更新

对于命名集,以下代码应该有效:

WITH set num as
{[Doc].[Time].[Time]}

MEMBER Measures.Avrg AS

SUM({num}, [Doc].[Time].CURRENTMEMBER.MEMBER_VALUE * [Measures].[Count])
/
SUM({num}, [Measures].[Count])


select [num] on 1,
       {[Measures].[Count], Measures.Avrg} on 0
from [Table];