我在ssrs中有一個折線圖。每當最高的行值是1或2,而不是得到0,1,2的比例,這是我想要的,我得到0,1,1,2,2。這種情況沒有意義,特別是因爲數字值不是小數,也不是格式化的。SSRS折線圖。如何停止重複在垂直軸上的數字
請幫忙。
我在ssrs中有一個折線圖。每當最高的行值是1或2,而不是得到0,1,2的比例,這是我想要的,我得到0,1,1,2,2。這種情況沒有意義,特別是因爲數字值不是小數,也不是格式化的。SSRS折線圖。如何停止重複在垂直軸上的數字
請幫忙。
垂直軸間距的表達式應低於表達式。
如果你的價值總和
= IIF(MAX(總和(領域!Item.Value))< 20,1, 「自動」)
如果你的價值數
= IIF(Max(Count(Fields!Item.Value))< 20,1,「Auto」)
注意:我使用20作爲上面的Auto,它會很好地工作。根據您的要求製作。
聽起來有在垂直軸格式化:即它實際上試圖表明0,0.5,1.0,1.5,& 2,但舍入後散發出來作爲0,1,1,2,2
您應該將垂直軸間隔從「自動」更改爲1:
的Value = Sum(fields!Item.Value)我知道這一點。但是數據庫中的值是整數而不是小數。而且這個圖表的值可能在1到100,000之間,所以我真的不想改變區間屬性。 – Beninja2 2012-04-06 20:13:39
嘗試一個公式,例如'= 10^LEN(ROUND((MAX(Fields!MyField.Value,「MyDataSetName」)))'只有數據庫中的整數不會改變這個:SSRS仍然會將分數間隔。 – 2012-04-06 20:38:17
這裏的問題不僅是間隔,而且是軸使用範圍的最大值。您可以使用此類型的表達式IIF(Max(Sum(Fields!Item.Value))< 20,1,「Auto」)設置間隔的值,但該軸仍然可能使比例過大。然後它往往用小數填充,或者如果你壓縮小數點,你會重複整數。
使用這樣的自定義代碼:
Public Shared Function AxisRange(ByVal Number As Double) As String
Dim RangeString as String
If Number <=5 Then
RangeString ="5"
Else If Number <=10 Then
RangeString = "10"
Else RangeString = "Auto"
End If
Return RangeString
End Function
在該範圍的最大值使用表達式所示:
= code.AxisRange(!MAX(字段Field.Value))
通過這樣做,您可以強制範圍的最大值與圖表中的最大值具有相似的大小。這解決了這個問題。
您可以告訴我,您正在使用的圖表中的= count(fields!Item.Value)或值爲 – 2012-04-09 10:43:51