SQL Server Reporting Services and Crystal Reports:
A Competitive Analysis

Copyright 2005, Brian Bischof

Designing Reports

The report designer provides a canvas for creating new reports and adding report objects in the appropriate places. This is where the majority of your time is spent and feeling comfortable with the designer plays a big part in your choice of reporting tools. Crystal Reports and SQL Server Reporting Services use completely different approaches to designing reports.

Crystal Reports uses a banded report designer. Each "band" stretches across the width of the page and represents a different section of the report. For example, there are sections for the page header/footer, group header/footer and for page details. The banded report design has been around for many years and is used in many products.

SSRS uses an object based report designer. This is a relatively new type of report design that allows free-form placement of objects on the report. Rather than dropping the objects in certain sections, there is one large Body section and the objects are placed appropriately within the Body. The properties of each object are set to specify where in the report the data should appear (page header, page detail, etc.). A benefit of the object based designer is that you can look at the Body section of the report and get an idea of what the report will look like without having to preview it. The location of each object in relation to the other objects is very easy to determine. The banded report design in Crystal Reports isn't as clear in design mode. If you want to place a chart along side the detail records, you have to place the chart in another section and tell the sections to overlap. In SSRS you would just put the two objects next to each other and be done with it.

The type of report designer is purely a personal preference. People who have used reporting tools for years are familiar with the banded report designer and are comfortable with it. People who are new to reporting can probably learn either type of designer just as quickly as the other and become comfortable. It's my theory that the reason why so many developers are taking to SSRS so quickly is that it has something called the Table object. The Table object is a simple grid where you can drag and drop objects onto it. Since it is a grid, the objects always line up with each other. The impact of this object is that so many reports are column based and the Table object is perfect for this type of report. It is easy to add new columns to the Table. When you add a new object into the middle of the table all the columns automatically shift to make room for the new object. Crystal Reports doesn't have a Table object and adding objects to a column based report can take some work to get everything to line up. Crystal Reports would be wise to build a similar Table object in a future release.

The SSRS report designer has a few limitations that you should be aware of. First is that it is not a true WYSIWYG designer. The way a report appears in preview mode can be different than how the report is printed. It's my theory that getting a true WYSIWYG experience is a technically complex thing to do. Crystal Reports is very good at it because it is on its eleventh release. SSRS isn't as accurate because it's a 1.0 product. This is primarily a problem for users who require precise formatting of report objects. It doesn't have much impact on the general business user. For example, the scientific and financial industry is very exact about where data should appear and how columns should line up. An object that isn't aligned properly could go unnoticed by a layman, but will be a huge faux-pas for an accountant or a business analyst. Crystal has various tools for making sure that even the pickiest user is satisfied. For example, the report preview mode lets you make changes to the report layout while previewing the report. This makes it easy to see how your changes affect the final report. There is also a built-in HTML preview mode for seeing how the HTML output looks without exiting the designer. Crystal Reports even has a zoom control in the designer for insuring pixel perfect accuracy. When designing reports for the layman this might seem like overkill. But to satisfy the financial user these features are critical.

< Prev Next >
Table of Contents
1. Executive Summary
2. Reporting Services Overview
3. Reporting Services Overall Impressions
4. Product Offerings and File Formats
5. Licensing Details
6. Connecting To Data
7. Securing Sites with Forms Authentication
8. Designing Reports
9. Passing Parameters
10. Exporting Reports
11. Subreports
12. Conclusion