2014-10-09 15 views
1

我有3項措施:如何在範圍內動態設置format_string?

[Measures].[Some Count] with FORMAT_STRING="#,0" 
[Measures].[Some Amount] with FORMAT_STRING="Currency" 
[Measures].[Some Percent] with FORMAT_STRING="Percent" 

範圍是用來改變的一切措施值,讓我們說是這樣的:

SCOPE ([Dimension 1].[Hierarchy 1].[Level 1]); 
THIS = IIF(<some condition>,<change>,<not change>); 
FORMAT_STRING(THIS) = ??? 
END SCOPE; 

問題:措施格式是錯誤的[維度上水平1]。的12345代替12345等

可能的解決方法:改變IIF(Measures.CurrentMember是[措施] [某些計數], 「#0」,等等。)

缺點:

  1. 度量列表創建,其支持(如果更改了smth,不要忘記更改等)
  2. 沒有機會使用多組度量(即使在SSAS瀏覽器內)。

是否有任何方式來動態設置度量格式?

UPDATE:實際上,在真實項目中有幾百種措施,所以我試圖避免措施列表。

+0

一般來說還是在FORMAT_STRING(這個)?它在常規的MDX表達式中工作。 – 2014-10-13 15:05:38

回答

0

我不知道你想要什麼,但你可以嘗試使用:

FORMAT_STRING([Measures].[Cost])='"£"#,0'; 

你的範圍之後