2012-08-28 173 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 

這僅僅是一個示例代碼來說明功能使用此計算度量。