2017-04-21 67 views
0

我有一個SSRS表達式,如果分數是< .85字體顏色是紅色,我需要顏色代碼,否則是黑色。輸出顯示1位小數(例如85.0%,83.1%)值,但當值爲.849時,它會將顏色更改爲紅色,因爲它將值四捨五入爲85.0%並將其轉換爲字體顏色紅色。是否有一種語法,當值爲85.0%時,它不會將字體顏色更改爲紅色?SSRS通過表達式的顏色編碼值

=IIF(Fields!CompositeScore.Value < .85,"Red","Black") 

enter image description here

回答

0

我認爲有些東西是不完全正確的您的方案,因爲0.849是84.9%(四捨五入到一個百分比小數點)。假設您實際上將小數點四捨五入到小數點後三位,那麼值0.8497會產生您所描述的問題。

對於場景CompositeScore = 0.8497,我將應用相同的舍入邏輯到您的色彩表現,顯示正在執行像這樣:

=IIF(Round(Fields!CompositeScore.Value * 100)/100 < 0.85, "Red", "Black") 

由於SSRS僅具有如下功能,四捨五入小數點到最近的整數(無法指定精度),您必須首先將數字乘以100以獲得兩位小數精度,然後再除以100以返回到原始值。更多細節可在提供的鏈接中找到:

MSDN Article Describing Rounding Precision