ecent polls show that nearly fifty percent of applications with reporting functionality use Crystal Reports, and about twenty percent use SQL Server Reporting Services. That popularity warrants taking a look at some of the major reporting tasks that developers face, and how these common reporting tools (Crystal and SQL Server Reporting Services) handle the job. You'll also get a sneak preview of the next scheduled release of both products.
A Brief History
Crystal Reports has had eleven versions spanning twenty years. The first three versions of the product were called Crystal Services, back in the 1980s. Seagate Software (which was renamed Crystal Decisions) acquired the product for Crystal Reports versions IV–IX, and then Business Objects acquired the product for versions X and XI, and is currently working on the next version. Surveys estimate that Crystal Reports currently owns slightly more than 50 percent of the developer reporting market.
Most Crystal Reports (referred to as Crystal here) users are application developers, although some corporate power users occasionally use it to build internal reports.
Microsoft released the first version of SQL Server Reporting Services (SSRS 2000) in 2004, and SQL Server Reporting Services 2005 a year later with SQL Server 2005. Microsoft will release a third version of SQL Server Reporting Services (SSRS 2008) with SQL Server 2008.
Both web application developers and power users/business analysts use SQL Server Reporting Services (referred to here as Reporting Services or SSRS). In fact, Microsoft promotes Reporting Services as part of their Business Intelligence solution.
Neither Crystal nor SSRS is a full object-oriented report writer. Both are object-based with a rich object model, and feature a certain amount of cascading. Additionally, Crystal supports CSS themes. However, OOP enthusiasts will need to lower their expectations and adjust to the fact that neither product supports true object-oriented features.
While difficult to accurately quantify, SSRS contains roughly 70–75 percent of the functionality of Crystal Reports. Some SSRS users/developers may view this as remarkable that a product in its second version would even be that close to a product with a much longer history. Others may react less philosophically if the remaining 25–30 percent includes key missing functionality.
While I generally prefer Crystal, I'm also quite impressed with what Microsoft has accomplished in SSRS in a fairly short time period. The objective of this article is not to lobby for use of one over the other; it's to present the differences between the two products and document important reporting features that exist in one product versus another. Some companies have decided to switch from Crystal to SSRS, and others are contemplating the switch: therefore, it's very important to know what functionality may be lost during the process.
What's on the Menu?
Using the current versions of both reporting products (Crystal Reports XI and SQL Server Reporting Services 2005), I'll cover the following reporting tasks:
- Report creation
- Report data sources
- Report sections and groups
- Formatting and formula options
- Page control options
- Report parameters and global report variables
- Drill-down capabilities
- Exporting reports
- Programmatic access
- Previewing in Windows Forms or in the browser
- Matrix and Cross-Tab objects
|Editor's Note: This article was first published in the November/December 2007 issue of CoDe Magazine, and is reprinted here by permission.|