2012-10-11 33 views
2

我有一個SSRS(2008)報告,它接受原始交易,然後對它們進行分組和總計。在「總計」級別,我想將最終數字四捨五入到最接近的0.25,但我找不到這樣做的方法。根據我讀過的內容,SSRS中的Round()函數只能輪到整數。我發現有幾種方法可以在SQL中實現,但問題是,我想用REAL數字進行所有計算,並圍繞結果進行計算,以免從實數中引入大量誤差。下面是我能找到的最好的SQL解決方案:SSRS問題:舍入到最接近的.25

dec(round(number * 4, 0)/4,11,2) as Nearest_Qtr 

任何人都知道我如何才能在實際的SSRS報告中做同樣的事情?

在此先感謝您的幫助!

回答

2

您可以在報告代碼中定義的函數:

Function MyRound(dblFigure As Double, dblMultiplier As Double) As Double 
    MyRound = Round(dblFigure/dblMultiplier, 0) * dblMultiplier 
End Function 

然後調用它在報表上:

=Code.MyRound(value, 0.25) 
+0

美觀大方!這使我可以輪到我需要的任何數字或部分!完善! –

+0

真神!謝謝:D – CLockeWork

+0

是否有可能使此功能始終與*上限*一樣,就像天花板一樣? – CLockeWork