2

ssrs에 꺾은 선형 차트가 있습니다. 가장 높은 라인 값이 0, 1, 2의 스케일을 얻는 대신 1 또는 2가 될 때마다, 나는 0,1,1,2,2를 얻습니다. 숫자 값이 소수가 아니며 서식이 지정되지 않았기 때문에이 값은 의미가 없습니다.SSRS 라인 차트. 세로 축에서 숫자 반복을 중지하는 방법

도와주세요. 수직 축에이 포맷처럼

+0

사용중인 차트에서 = count (fields! Item.Value) 또는 = Sum (fields! Item.Value) 값이 –

답변

5

수직축 간격에 대한 표현식은 표현식보다 작아야합니다. 당신의 값이 합계

경우

= IIF (최대 (합계 (필드! Item.Value가)) < 20,1, "자동")

당신의 값이면 카운트

= IIF (Max (Count (Fields! Item.Value)) < 20,1, "자동")

참고 : 위의 20을 Auto로 사용할 수 있습니다. 귀하의 요구 사항에 따라 확인하십시오.

2

는 소리 : 실제로, 0 0.5, 1.0, 1.5, & 2를 표시하려고하지만 찰나 즉 0,1,1,2,2

로 밖으로 온다

수직 축 간격을 "자동"에서 1로 변경해야합니다. enter image description here

+0

인 것을 알 수 있습니까? 그러나 데이터베이스의 값은 소수가 아닌 정수입니다. 또한이 차트는 1에서 100,000 사이의 값을 가질 수 있으므로 interval 속성을 변경하고 싶지는 않습니다. – Beninja2

+0

'= 10^LEN (ROUND (MAX! Fields! MyField.Value, "MyDataSetName"))))'와 같은 수식을 사용하십시오. 데이터베이스의 정수만이 변경되지 않습니다 : SSRS는 여전히 분수 간격을 . –

0

여기서 문제는 간격뿐만 아니라 축이 사용하는 범위의 최대 값입니다. 이 유형의 표현식 IIF (Max (Sum (Fields! Item.Value)) < 20,1, "자동")를 사용하여 간격 값을 설정할 수 있지만 축이 여전히 크기를 너무 크게 만들 수 있습니다. 그런 다음 십진수로 채워지거나 십진수를 생략하면 정수가 반복됩니다.

= code.AxisRange (! 맥스 (필드 Field.Value))

: 같은 식을 사용하는 범위의 최대 값에서

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 

:

이 같은 사용자 지정 코드를 사용하여

이렇게하면 범위의 최대 값이 차트의 최대 값과 비슷한 크기가됩니다. 이렇게하면 문제가 해결됩니다.