2012-10-09 205 views
2

我們正在物流服務提供商處實施ActivePivot,我們希望構建一個視圖來幫助我們找出運行速度不夠快的貨件,並幫助瞭解如何改進此KPI 。我們有一個簡單的MDX視圖,可以顯示以天爲單位的過期庫存以及客戶的出貨數量。如何計算MDX加權平均值

有沒有簡單的方法來計算每個客戶的出貨量加權的老化庫存?有沒有辦法計算這個加權平均值,而不管用於分析此度量的維度?

這裏是我們使用的MDX查詢:

WITH 
MEMBER [Measures].[Mean Storage Time] AS 
    ([Measures].[Nb.DayPrestation.Started-Finished].Value/[Measures].[Nb.Prestation.Started-Finished].Value) 
SELECT 
NON EMPTY Order(Hierarchize({DrilldownLevel({[V_MODEL].[ALL].[AllMember]})}), ([Measures].[Mean Storage Time]), DESC) ON ROWS, 
NON EMPTY {[Measures].[Mean Storage Time], [Measures].[NbP.PBK]} ON COLUMNS 
FROM [OperationPrestationCube] 
WHERE ([V_DESTINATION].[ALL].[AllMember], [P_STOCKAGE].[ALL].[AllMember].[true]) 
+0

感謝。完美的作品。 – user1731897

回答

1

以下MDX增加了一個「加權平均存儲」,這是等於「平均存儲時間」的「NbP.PBK」

WITH 
MEMBER [Measures].[Weighted Mean Storage] AS 
    Iif(([V_MODEL].CurrentMember.Level.Ordinal = 0), [Measures].[Mean Storage Time], Iif(IsEmpty([Measures].[Mean Storage Time]), NULL,(([Measures].[Mean Storage Time] * [Measures].[NbP.PBK])/([V_MODEL].DefaultMember, [Measures].[NbP.PBK])))) 
MEMBER [Measures].[Mean Storage Time] AS 
    ([Measures].[Nb.DayPrestation.Started-Finished].Value/[Measures].[Nb.Prestation.Started-Finished].Value) 
SELECT 
NON EMPTY Order(Hierarchize({DrilldownLevel({[V_MODEL].[ALL].[AllMember]})}), ([Measures].[Mean Storage Time]), DESC) ON ROWS, 
NON EMPTY {[Measures].[Mean Storage Time], [Measures].[NbP.PBK], [Measures].[Weighted Mean Storage]} ON COLUMNS 
FROM [OperationPrestationCube] 
WHERE ([V_DESTINATION].[ALL].[AllMember], [P_STOCKAGE].[ALL].[AllMember].[true]) 
加權
0

可以用這樣一個表達式計算加權平均:

Sum('set on which you want to do weighted avg', 'your measure' * 'the weight')/Sum('set on which you want to do weighted avg', 'the weight')