2013-07-23 19 views
1

我目前正在嘗試實施一個計算成員(SSRS或SSAS),它將向我顯示每個客戶的平均值,我需要將所有項目的值總和除以所有項目的數量0作爲一個值。如何使用篩選值查找計算成員中的平均值?

下面顯示了一個類似下表所示的值。

> Customer | Project | Value  | 
> Customer1 | Project1 | 124.24... | 
> Customer1 | Project2 |  0.00 | 
> Customer1 | Project3 | 242.221... | 
> Customer1 | Project3 | 72.221... | 

現在我試圖在我的計算成員做的是以下(我想這兩個SSRS和SSAS)

Sum([Measures].[Value]) /Count(Filter([Order].[Project], [Measures].[Value] > 0)) 

我希望是篩選出項目的金額,具有零值,並且將值的總和除以具有值爲<> 0的項目的數量。

問題是,當我到達瀏覽器時,所以我嘗試了我的計算成員計數P值對象(相對於前者。以上)爲1,而不是3, 和平均值I得到的是:

(124.24 + 0 + 242.221 + 72.221)/ 1

而非

( 124.24 + 0 + 242.221 + 72.221)/ 3

(不會被4因爲1項目的值爲0,這就是我想從第é計數,我做)。

回答

0

我的問題已在Duane Dicks的MSDN論壇上得到解答,我將在下面發帖。

「想你爲什麼只得到1而不是3是因爲你的過濾器只在看所有的成員,它應該看它的孩子

像這樣的東西應該這樣做:

Sum([Measures].[Value]) /Count(Filter([Order].[Project].level(0).Children, [Measures].[Value] > 0)) 

MSDN: How to find the Average in a Calculated Member with filtered Values?