Crystal Reports vs Active Reports

This blog post is from 2005 and has not been updated for newer versions of these products.
Update
One of the things I've since found, while using Active Reports, is a very poor implementation of exporting reports. Active Reports offers the ability to export reports to PDF and XLS formats. The PDF export works fine and has never once caused me any concern. Unfortunately, XLS exports are the polar opposite. I created a simple listing report consisting of approximately 5 columns of data with no summaries or groupings. When exporting the data to XLS, a 2 page report was taking in excess of 30 seconds to save. Larger and more complex reports would effectively freeze the computer. In addition, once the export had completed, the XLS file generated was unreadable.

In complete contrast, I have never once had a problem with the export functionality of Crystal Reports.

So, if exporting data to Excel is a requirement of your project, stay clear of Active Reports.



Original

Finally I have gotten around to writing this. For the past 4 years I have worked extensively with Crystal Reports v7, 8.5 and 9. During that time I listened to my co-workers grumble about it and, on occasion, participated myself. Recently I took a new job and my first task was to design and code a reporting module using Active Reports .Net v1.0. Since I'd done similar projects with Crystal, I thought it would be right for me to document differences, troubles and opinions on both.

Reporting Philosophies

Active and Crystal Reports have taken very different philosophical paths in their execution of reports on the development side of things.
Crystal Reports are self contained .rpt files that only require the Crystal Engine to execute. The end user does not even need an application to do this. All they have to do is double click on the report and voila, it displays. Active Reports have opted not to provide this functionality. Their .rpx reports require the use of the ActiveX viewer control, from within a compiled application, to display the report.

Because Crystal Report files are 100% self contained, there is no code behind module to be used whereas in Active Reports there is. The code behind in Active Reports provides you with an event driven coding arena to fine tune the display of the report (more on this later).

APIs

The Crystal Reports API is referenced, in non-.Net environments, by using the craxdrt.dll file. This will provide you with the entire report object model. The object model is quite easy to understand and the model has structural depth where appropriate. Finding data, label or formula fields in a report or sub report can be accomplished through on line of code. There is no need to know the section that the control exists in as all are returned to you in a report-wide collection. The API also supports extensive use of embedded objects to allow you to reference an item without having to set it to a variable first. Loading a report into memory is as simple as a passing the filename to the appropriate property. One of the things that is limiting is the ability to programmatically add and move controls to a report. I believe that there are licensing issues whereby this type of code would require a licensing payment for each installation of the end software.

Active Reports provides a similar API for manipulating reports using code. The redistributable files required are minimal both in numbers and in size. Initializing reports and sub reports is quite simple. Because of the differing philosophies in reporting, Active Reports offers two different ways to open a report. One is to treat the report as an object like you would a form. You initialize it, set it to new and run a show sub routine to display it. The second method is to load the report, using one line of code, from the rpx file. Finding controls, in reports or sub reports, is much more difficult than in Crystal. To accomplish this you must loop over all sections, and all controls in each section, to find the desired control. Unlike Crystal, you can add and move controls in an Active Report with no need to worry about licensing. Performing these actions, however, is not very simple. Adding a single control to the report can take close to ten lines of code.

In this category, the winner by a narrow margin is Crystal Reports because of the ability to find a control in the report with one line of code.

Designer

The designer is the portion of the reporting experience that most of a developers time is spent interacting with. This requires that the designer is intuitive, powerful and aesthetically pleasing. Crystal Report Designer wins this hands down. The one item that I notice daily when using Active Reports is that there is no ability to zoom in on a reports design surface. Having to work at a high resolution is fine when preforming the overall layout of the report, but regularly I find that I am performing fine tuning of control placement and, with the zoom feature in Crystal Reports, there is significantly less eye stress. Both Crystal and Active Reports have smaller nagging issues. Crystal Reports has a "feature" where setting the X, Y, height and width properties does not retain the exact value (variance of one tenth of an inch is common) your enter. The snap to grid feature in Active Reports does not react well to moving of controls using the keyboard arrow keys resulting in controls that no longer are lined up on the grid correctly.

Overall, both products are adequate, but the lack of a zoom feature in Active Reports puts it a significant step behind Crystal Reports for me.

Connecting to Data

One of the things that you will always hear people complain about with Crystal reports is that connections to the database, when dynamically set or the data server or database has changed, will return the error "There was an error retrieving data from the server: Service Not Found". You will not get this type of error when using Active Reports, primarily because the data sources are .Net DataTable objects. I have encountered this error so many times in Crystal Reports that I was considered an expert on fixing it by my coworkers. In my opinion this error is caused by nothing more than a lack of attention to detail by the report programmer.

Everything else about these two products, when it comes to data connectivity, is very close to the same in functionality and limitations. I will give the edge to Active Reports simply because of the frequency that data connectivity errors occur in Crystal Reports.

Viewer

Both the Crystal and Active Reports viewer are very feature rich and stable products that perform well for the end users. My only complaints are with the Active Reports viewer. Although the Active Reports viewer is very powerful, has a nicely structured object model and performs well, it has object model structure that exists for no real reason. For instance, you can add your own controls to the toolbar in the viewer, and when adding them the object model exposes an image property. Completely undocumented everywhere, except the user forums on Data Dynamics' website, is the fact that this feature was never built out. Spending time looking to see if the feature is there, telling your boss that you can add your own icons, and then spending an hour troubleshooting and researching again, only to find out that you've just found vaporware, does not sit well with me at all.

A big thumbs down to Active Reports on this one.

Distribution

Another area of gripe for Crystal Reports is the difficulty distributing the runtimes. I have fought for many a hour trying to make a fresh installation work, only to find out that one of fifty plus files is missing, in the wrong location or is of the wrong version. Part of the problems do arise from the fact that Crystal Reports is bundled with so many different products that a single PC often encounters 2 different versions when installing. Another part of this problem is that Crystal Reports is very bad at maintaining backwards compatibility, so you run the risk of your software or someone else's software not functioning after a new installation.

On the flip side, Active Reports distributes less than five files and, because it has a smaller installation base, you rarely will encounter multiple versions trying to coexist on the same PC.

Although you can alleviate a large number of the Crystal Report distribution issues by using a merge module with your installation software, Active Reports gets the nod here easily due to it's simplicity and minimalism.

End User

The end user experience for both products is fairly similar. The only significant difference is that the is no ability with Active Reports to execute and display the report by simply double clicking on the RPC file. This is fairly important, but the most benefit seen from this feature in Crystal Reports is for those who are running stand alone reports. Crystal Reports wins this one by a nose.

Personal Opinions

There are a number of areas that are important to me as a developer. Using both products I have been asked to build very dynamic and flexible solutions. Because of the reliance on the code behind to perform many tasks in Active Reports, accomplishing the goal was very difficult. Simple things, such as a percentage field, based on two displayed values, required me to write 8 to 10 lines of C# code in the scripting editor. Yes you can do this with the code behind module, but that is only useful if you are compiling the report into your application. In Crystal this is possible through the use of a formula field and, in my opinion, is the better solution for ongoing support and maintenance of the product.

Because report developers spend the majority of their time in the designer interface, this is another area that I look to immediately. That look gives a clear indication that the zoom feature in Crystal Report give it the edge easily.

Although both products have excelled in different areas, I would choose Crystal Reports because of the power for data manipulation that exists in the designer and layout editors.

I have been doing some research into SQL Server 2005 Reporting Services at work, and one of the new features that it will offer is a report viewer that can be added to a WinForms application. While this does present another competitor in this market, I will not comment on it until I have had more time to look and play.

Posted By: Donald Belcham

Published at

Comments

Mc.gem
11/15/2007 04:17 AM by
Mc.gem

finally, which is the best for dynamic reports? crystal reports or active reports?

GMR
12/11/2007 07:29 AM by
GMR

Good One .... Need to really appreciate your work for having the patience to write to a good detail ...

Kausar Mehmood
01/02/2008 08:42 AM by
Kausar Mehmood

I think crystal report is much mature than Active reports and is industry standard. The other thing if some one has problem then he can do little R&D to find the solution.

BUbba Ole
02/25/2008 07:04 PM by
BUbba Ole

How about the licensing issue? Company xyz prefers CR and complains about licensing but like the features. Can get the job done with AR but complains about the features. So they choose an archaic way of doing things and can't use double byte chars. Go figure.

citizen.earth
03/14/2008 02:22 PM by
citizen.earth

Can we create unbound report using Crystal Reports? I know that Active Reports is very good on this.

kamrun
03/31/2008 08:51 AM by
kamrun

need bold in between Formula field

cg
04/22/2008 07:03 AM by
cg

You use an undocumented feature in AR and then complain it doesn't work!!!

You also forgot to mention the massively anoying feature of having edit a CR report to "verify database" if a trivial change is made to the underlying stored procedure.

sreehari
04/30/2008 07:57 AM by
sreehari

we need deatiled description about this artical.

shane
06/24/2008 04:41 AM by
shane

IMHO crystal reports has too many wizards and helper functions, which makes it very inconvenient at times for really create a reports as you had imagines it to be. For example aligning object in crystal report is always a pain. You hardly ever get a accurate positioning. At times Active Reports is plain and simple and the designer is much more easier to work with. Of course crystal report had the enterprise functionalities that Active Report does not have but it is still doable by writting your own.

Jon
07/10/2008 12:12 PM by
Jon

His complaints about finding controls leads me to believe that he is a report developer and not an application developer. He complains about finding controls in AR, but in my experience, it's exactly like referencing a control on a .NET web/win form (this.txtMyControl type of thing). I love the code behind because I can use the .NET languages/framework as I choose. I've worked with older versions of Crystal and I hated that I needed to learn their little world of languages and such. Crystal scripting is something that I can do, but not something I'm personally picking as a career path so I prefer to leverage my .NET skills. AR is extremely intuitive if you're .NET developer because it's written by & for .NET developers. I would agree that AR is most suited for embedding within an app and not for end user report development. That being said, you can't go wrong for the price. Any lack of "features" (read wizards) can be completely controlled via your own code....unless you don't like writing code ;). I prefer to leverage my objects and architecture from my application's library rather than be limited by what is provided in the report's tool bar or limiting methodologies for report generation.

Jun
07/18/2008 04:10 AM by
Jun

Im a professional computer programmer for the past 13 years and start with Crystal Reports way back in the 90's but i switch to Active Reports since 2000 because it is very powerful report generator compared to CR, especially when it comes to generating reports for a computerized accounting system. His complain about viewing the AR on a form is rediculous. it can be shown both on a AR Viewer and it can also be zoomed. Maybe hes just an ordinary programmer and i dont agree with some of his complaints. I think you need to practice more on AR. If ur a real programmer then you'll known wats really best. Thank u

KAMAL MATHURIA
09/04/2008 04:31 PM by
KAMAL MATHURIA

i am software developer and working in visual basic with crystal report 9 from three years but today i got active report it is really very good for me. it is more good then crystal report in case of setup size and possible to export in excel in better format.

aidin
09/15/2008 06:12 PM by
aidin

How do we can Get Active Report?

Omer
10/13/2008 06:19 PM by
Omer

Thanks for comparing crystal and active reports.

But ı wonder if there is a file about 20 mb that I have to add my projects setup file in Active Reports ...

As KAMAL said above we have to add a merge file which has a size of 26 mb.and this is a disadvantage of crystal reports for small projects...

Anyone has any idea ?

Armando
11/05/2008 08:40 AM by
Armando

1) How big is the setup file or merge module for distributing Active Reports with an application?

2) Is it Vista Compatible and does it support MySQL.

I have 2 large projects in mind and I am now designing the database structure for one of those.

Thanks for any replies.

  • Mando

** se habla español.

Vasantha
03/30/2009 02:52 PM by
Vasantha

Hi

Thanks for the comparison. I am looking for a way to give the end-user, some formatting capability. They need to be able to create report templates and merge with a SQL view and format it away to their heart's content.

Does anyone have any experience with similar situations?

Thanks

  • V
John Robinson
05/04/2009 08:08 AM by
John Robinson

From my experience, ActiveReports is WAY more usable and flexible than Crystal. Perhaps this is merely a documentation issue, but in my past I've knocked out some heavy-duty reports with AR, which allowed me to go in and write code as needed. Every time I use Crystal I feel that my hands are tied, and I'm afraid that after hours of work I'll end up hitting an impasse. For that reason, I've avoided Crystal.

Erichero
05/18/2009 07:19 AM by
Erichero

We've been using AR as our default for a long time, but the designer drives me dilly by not having an undo feature. After seeing the CR designer does have undo, I was interested to see the feeling between the two camps. I get the impression here that AR is still the way to go.