Thursday, August 06, 2020

Crystal Reports vs. SSRS: Multi-view reports

In the world of Business Intelligence, there are two competing forces in the area of reporting: Crystal Reports and SSRS (SQL Server Reporting Services). Both are established products and both continue fighting for the same niche, using different strategies. Many other fancy tools exist,  but very can do what they do.

In this entry, I will talk about one important feature that you might want your reporting software to do: creating multiple views of the same data. Who can do it better?
To clarify what I mean, I'm referring to "multi-part" reports, such as a dashboard, having the same data source but showing the data in different ways: summarized, detailed, grouped, charted.

Can Crystal Reports handle multi-part reports? Sort of.

Good luck with Crystal Reports if you want two parts in your report: a Summary view on top and a Detail view on the bottom. You have to resort to Crystal's lifeline, the "fix-it-all" superpower that is a subreport. Except there's a catch: each subreport is an independent report with its own data connection and query if you're using one, so in reality, you wouldn't be sharing the same data connection. When you change data sources during deployment, you have to go through each subreport and make sure each one is changed. So it's not a shared connection. Not to mention, in Crystal reports, a subreport can not contain another subreport, so you already have a limit on your creativity.

SSRS: Breezes through multi-part reports.

On the other hand, SSRS seems right at home letting you create different iterations of the same data. You can make one section summarized, another with a diagram, and another in detail mode, and put them all on the same page. Each "object" in SSRS is independent.  No need to do subreports (although it supports them). And each one of these objects can share the same connection you already established. That doesn't exist in Crystal reports, which relies on sections.

But as the usual downside, SSRS only works in SQL Server and if you have set up an SSRS Server for it.

For multi-view reports that use SQL Server data, the easiest solution is SSRS.

No comments: