2014-03-25 192 views
0

我在我的魔方數計算的領域。我想將它設置當用戶查詢在Excel中的數據,如果他們添加計算字段中的一個值,如果將鼠標懸停在該值它給出的計算是如何創建的定義。這可能嗎?SSAS計算字段

Ex。 AHT = Tot_wrk_tm/vol

+0

你是什麼意思的「計算字段」?計算的措施?計算另一個層次結構的成員? – FrankPl

+0

是的,我的意思是計算的度量。它們具有相同的層次結構,我只是試圖在用戶查看摘要數據時能夠在Excel中顯示說明。 – mkincade3

回答

0

這取決於您擁有的客戶端工具:如果您有自己的客戶端工具,並且只需訪問度量的定義,則可以按照執行MDX的相同方式執行以下SQL SELECT語句(但要注意結果表格,而不是單元集):

select [MEASURE_NAME], [EXPRESSION] 
    from $system.mdschema_measures 
where [CUBE_NAME] = '<your cube name>' 

這將返回所有措施,而計算出的措施有他們在EXPRESSION列表達式。這個工作從2008年的版本

如果您的用戶使用的標準工具,你必須在顯示屏上沒有影響,則需要它顯示的計算,因爲那麼這可以用正常的立方體進入顯示屬性。要實現這一點,請在您的數據源視圖中創建一個命名查詢,該查詢會生成單列和單行。我將假定命名查詢以及從它構建的維度被命名爲「Def」,並且從其構建furtehr的列和屬性被稱爲「定義」。它的價值應該是你想要顯示的非計算度量,例如, G。一個空的字符串。如果您使用SQL Server作爲您的關係源,則查詢定義可能類似於:

select '' as definition 

沒有必要將此關聯到任何表。從中創建一個新維度,並使其唯一屬性爲definition。將其IsAggregatable屬性設置爲false。將此維添加到多維數據集(在多維數據集編輯器中,在左下角的「多維數據集結構」選項卡中,右鍵單擊您的多維數據集並選擇「添加多維數據集維度」)。無需在「維度用法」選項卡上設置任何關係。

部署溶液,然後更改Definition屬性的「默認成員」屬性設置爲使用單個構件。這是必要的,因爲您將IsAggregatable屬性設置爲false。

最後,在多維數據集的計算腳本添加以下內容:

SCOPE([Measures].[AHT]); 
    [Def].[Definition].[] = 'Tot_wrk_tm/vol'; 
END SCOPE; 

使用成員等號左邊的唯一名稱;這可以從多維數據集的元素列表拖動到多維數據集編輯器/計算選項卡中的腳本。重複這三行來計算您想記錄的所有計算度量值。

然後,您的用戶可以將此屬性拖到他們的報告中,只要它有意義,它就會顯示您配置的文本。當然,您必須確保對於任何計算度量的定義的每次更改,都必須修改定義屬性的代碼。沒有自動生成。