2016-06-14 188 views
0

如何在MDX中創建新列?選擇的尺寸並不重要。我只想要選擇的數據的行數/總和。我不是專家MDX ...ssas mdx線數除以SUM

enter image description here

enter image description here

下面

當前代碼:

CREATE MEMBER CURRENTCUBE.[Measures].[Weight] 
AS IIF([Measures].[Sales Line Amount AC Budget hidden] <> 0, 
Divide([Measures].[Sales Line Amount AC Budget hidden] 
,AGGREGATE(Root(),[Measures].[Sales Line Amount AC Budget hidden])),NULL), 
VISIBLE = 1 , ASSOCIATED_MEASURE_GROUP = 'Sales Forecast' ; 

嗨它們是在同一列...我只是引用一個隱藏的列,因此我可以改變它的屬性,不影響原來的措施。你確定MDX會給我我想要的結果嗎?它可能是一個格式問題?該措施的格式爲#,0.00

enter image description here

+0

我想是這樣的[措施]。[銷售行金額AC預算隱藏]/SUM([措施]。[銷售行金額AC預算隱藏] .allmembers),但沒有奏效。 .. – jhowe

+0

「Sum Below」數字是隱藏的銷售額金額AC預算的自然總和嗎?它看起來像行值是重複的,也許與ForecastOffset的源維度沒有關係? –

回答

3

OK! 我想我明白你想要試試這個。有了Root,您可以從所有維度獲得全部。

Divide(
    [Measures].[Sales Line Amount AC Budget hidden] 
,AGGREGATE(
    Root() 
    ,[Measures].[Sales Line Amount AC Budget hidden] 
) 
) 

編輯:

不要認爲這是一個相當簡單的方法來做到這一點。也許看看Axis(1)而不是root。

我沒有在一個立方體只在查詢試試這個...和它的作品..

Divide(
    [Measures].[Sales Line Amount AC Budget hidden] 
,AGGREGATE(
    Axis(1) 
    ,[Measures].[Sales Line Amount AC Budget hidden] 
) 
) 

EDIT2:

既然你想這與Excel工作。沒有一個明確的方法來讓它工作,而不知道你想要「重量」的確切尺寸。 Excel適用於Subcubes,這意味着,Axis函數實際上會返回該軸上的所有成員。

沒有辦法確切地知道哪些成員實際上在MDX中顯示。這應該是客戶端計算。

在EXCEL中,您可以非常簡單地通過選擇前往OPTION的字段並選擇「Show Values As」來執行此操作。使用「%Grand Total」會爲您提供您正在尋找的百分比。

Excel - Show Values As

+2

(提高)看到'ROOT' ......確實很少見。 – whytheq

+0

@whytheq我從來沒有在生產中使用它... xD – mxix

+0

嗨,它似乎給出了奇怪的結果...我張貼了更新的圖片。你能幫我嗎???感謝它非常緊迫,我得到了這個工作......謝謝。 – jhowe