2012-08-28 140 views
1

如何计算MDX中的总和平均值?我想计算每个人的支出总和,然后计算它的平均值。我有以下查询到目前为止,但我相信它给了我错误的结果:MDX查询中的总和平均值

WITH MEMBER [Measures].[Average] AS 
AVG(Measures.cost) 
SELECT [Measures].[Average] ON COLUMNS 
FROM 
(SELECT Measures.cost ON COLUMNS, 
{Person.[Last name].MEMBERS}* 
{Person.[First name].MEMBERS} ON ROWS 
FROM Cube) 

任何帮助将不胜感激。

回答

1

您只需要在Avg的第一个参数中输入您的人员。

WITH MEMBER [Measures].[Average] AS 
    AVG(Person.[Last name].MEMBERS * Person.[First name].MEMBERS, Measures.cost) 
SELECT [Measures].[Average] ON COLUMNS 
FROM Cube 
+0

结果更接近正确的价值,但仍然没有出现:)平均应该在100和1000之间,结果略微超过4000 – kyooryu

+0

@kyooryu你能检查是否有在没有意外因素“人。[姓] .MEMBERS''? – Benoit

+0

啊,我拷贝了原来的答案,我没有注意到姓氏没有与名字交叉。 – kyooryu

0

尝试创建一个计算度量这个功能类似这样的

IIF (([Measures.cost] > 0), AVG(Person.Members,Measures.cost),null) 

然后在你的MDX查询

SELECT Person, 'calculated.measure' 
FROM Cube 

这仅仅是一个示例代码来说明功能使用此计算度量。