2016-06-15 139 views
0

我使用的是SSRS報告,其中很多都顯示了一些數字,通常大於1000,並且通常帶有小數。例如,我可以很容易地將這些數字的格式設置爲1.000,00,但我的問題是,我的一些用戶希望將千位分隔符看作逗號,並將點分隔爲點(反之亦然)。我可能可以將自定義數字格式作爲參數傳遞給報告,但是我必須將其應用於報告中的每個數字。有沒有更容易/更好的解決方案呢?總而言之,我想舉例來說,我的一些用戶將1000號視爲1000.00,其他視爲1,000.00,這是基於我將傳遞給報表的參數(比如說@NumberFormatingStyle),它以某種方式適用於所有用戶沒有明確地將其設置到每個數字字段的報告上的數字。SSRS號碼通過參數格式化

回答

1

您應該將其應用於您希望格式爲動態的每個文本框的格式屬性。

首先您需要做的是創建參數@NumberFormatingStyle。

手動添加值。

值= 1,標籤=逗號

值= 2,標籤=點/點

然後把該是這樣的格式屬性的表達式。(只要改變值之間的價格,使用適當的格式來應用)

=SWITCH(Parameters!NumberFormattingStyle.Value = 1,"#,0.00;(#,0.00)","#.0.00;(#.0.00)") 
+1

正如我在我的問題中寫到的,我意識到這個答案,但我很好奇,是否有任何方法可以在全局範圍內執行此操作,因此我不必將其分配給報表上的每個文本框。 –

0

我已經找到簡單的解決方案。 我將報告語言設置爲我的@Culture參數(具有諸如「en-US」等值的值,傳遞給報告)。 之後,我只需在我的數字佔位符中設置「使用區域格式化」,它將以我想要的方式格式化數字(通過傳遞的@Culture參數進行管理,我仍然使用該參數)。 這樣我就不必手動格式化每個數字。