Right now I'm swamped making reports in SSRS 2005. Even though that might be considered a junior's task I found it interesting. Last time I created report templates was 10 years ago with Quick Reports and VB 6 in the late 1990s :-p
My team recommended SSRS over Crystal Reports and
VTO mainly because we have had a previous bad experience with word templates for report generation and really liked the idea or having the report engine accessible using a web service. Also being the RDL files xml with a
documented schema, instead of the proprietary Crystal Report format, made us believe SSRS might go farther in the long run. Price was also a consideration for ruling out Crystal Reports. One of the big points towards this decision was the Report Manager in SSRS. Deploying our reports independently of the application where they will be viewed allow us to deploy and test the reports in parallel. There is no need to wait until the main application goes to QA. Report subscriptions was another plus.
The purpose of this short post is not to compare those three technologies though. You can see a good comparison of Crystal Reports vs SSRS
here.
Our initial hesitation of putting most of our eggs on the SSRS's basket is almost gone now, but not without having a wish list that would make the maintenance of our solution easier:
- Widows and Orphans control, there's a hack if you use a rectangle control to group elements, KeepTogether property for a table doesn't work
- Full aligned text, no workaround for this AFAIK.
- Reuse datasets in the reports that belong to the same project.
- Reuse images
- Reuse custom code and make it visible other than in the Report Properties->Code Tab
- Be able to re-use headers and footers on all the reports on the project.
- Be able to use more than one reportitem in an expression for an element in the header or footer.
You have to do lots of hacks in order to achieve this.I have an example of doing this using a dataset and an internal report parameter after I gave up on using the ReportItems for hiding or showing header elements.
-Barcode print in PDF, some barcode fonts get distorted when the report is rendered as a PDF,
so you have to rely on third party components such as Aspose.Barcode. Microsoft SSRS team fixed some fonts on the SP2 for SQL Server 2005 but unfortunately the font we use is not fixed yet.
-More alignment with the Visual Studio project layout. Being able to group reports in subfolders, being able to see the shared datasets in a project folder, the custom code in a project folder, being able to see the referenced external assemblies similar to the references added to the visual studio web and windows projects.
I know that aligning the web rendering with the PDF rendering might be too much to ask, but it would be really nice if the report rendered in HTML form would look similar to its PDF counterpart. Right now you cannot rely on the HTML view at all
when your final renderer is PDF.
- Rendering RTF text out of the database (I still have to explore this on 2008)
- Using CSS to apply styles to your textboxes.
Hope this helps if you have to make a technology decision, I'm sure I'll increase the wish list soon...
Labels: Reporting Services, SQL Server stuff