Sql-server – Proper chart scaling in Reporting Services 2005

chartsreporting-servicesscalingsql server

I'm developing a simple bar-chart in Reporting Services 2005 with a stored procedure as data-source. The values in this graph can be both positive and negative, and can span a very big range, and hence I cannot specify any non-dynamic scale that will work for all scenarios.

The problem I'm facing is that the automatic scaling pretty much sucks. I get no line to show where the zero-point is, and the y-scale labels are from top to bottom:

8818

-191181

-391181

etc etc…

So my question is, what is the best approach to make the scale more adapted to human reading? Is there any guide out there? Does reporting services 2008 handle this better?

Also, moving away from Reporting Services is not really an option. I realize how to put values and expression in the max, min, and the gridline interval fields, although its more of a question what expressions I should put there.

Best Answer

I have had a generally terrible experience with the charts in reporting services. They are not very flexible and have all sorts of small irritating bugs.

If you stick using them, you should be able to write some logic to return the scaling you need as part of your stored procedure. Then, you can use those values in the chart properties using their expression window.

I used to face the same problem. Now, I use google's charts for nearly everything. Modify your SP to return the correct URL. Setup an image in place of your chart and have the URL of the image generated by the return from your SP.

Unfortunately, you will need to do a little work to get use to the charts, but google has good documentation here: http://code.google.com/apis/chart/