Crystal Reports is a software package designed purely to create detailed and advanced reports pulling data directly into the reports from pretty much any kind of database. It has a fairly simple user interface and once a user knows a few basics then simple reports can be created easily. For the more advanced user, detailed and elaborate reports can be designed using advanced functionality.

Within common database software packages there are often some kind of reporting capability. Microsoft Access for example has reporting functionality. If you have a SQL database then you can easily create queries to pull back sets of data which can be loaded into Excel. The reason why a user may require Crystal Reports is when this kind of reporting is simply not enough. In Access for example, the main use is the database and forms functionality. The reporting is more of an additional tool, but since it is not the main purpose of the software it is fairly limited and sometimes cumbersome. It's not their main priority.

While it is true that with Microsoft Word you can create a mail merge to pull information from a database into letters or envelopes, the process can again be cumbersome and the results imperfect and limited. It can also be slower when the data source is large. Crystal Reports is a package designed to focus solely on reporting so the functionality has been more fully researched and designed.

Let me give an example of when a user might want to create a report from Crystal Reports. While working on a data team for a software company, there were many client databases. Each client would require a report which would be printed and sent to each active customer in the database, for example an annual report. The annual report would contain all the customer details, various logos and images as well as large portions of standard text. A crystal report would be created which contained everything with a professional layout and design. The reports were run overnight and could be outputted directly to PDF type without the need for a later conversion.

There are various features such as the cross tab allowing simple summaries to be placed onto a report that will automatically update each time a report is run. One feature which is particularly useful is the drill down functionality. This means that headers can appear when the report is run which the user can double click on to get the full information if required. Say for example, a report is required to show the monthly sales figures per office. The initial view of the report could be a list of offices with a simple total of sales value and the number of sales. If the user clicks a particular office then the list is expanded to show details of each sale along with the sales person responsible. This makes it easy for the user to have one report with both summary and detailed information.

As well as making drill down summaries easy, there are extensive charting capabilities. Huge numbers of charts are included for any possible charting requirement. Once a chart has been created the user has complete freedom to format and colour the chart however they wish. The best thing is that you do not need to know any code as there are simple wizards to help you create the perfect chart as easily as if you were doing it in Excel.

It may be the case that if you have built reports in another software package that you have already used Crystal Reports. Some companies have large databases and in depth reporting needs. They sometimes use Crystal Reports as a reporting plug-in rather than spending development time and resources on building their own reporting software. I have worked in companies before that have designed and built their own database solutions, but for reporting an instance of Crystal Reports is automatically opened.

Nowadays all different kinds of jobs require some kind of reporting skills. An HR manager for example, may need to send a personal annual letter to all staff with individual details included. A sales person who uses a CRM system may want to send a letter to all contacts and clients giving details of their current package and what upgrades are now available. While it is possible to do something in Word as a mail merge, usually more advanced reports are required. Crystal Reports are an easy way to allow a user to create more detailed and professional looking reports than a simple word document could allow. These reports can be automatically run and outputted as a PDF which can be sent directly to the printers.

Time is of the essence and once a report set has been created a user will not want to open Crystal Reports each time, set up the connection and process the reports. Instead the software includes scheduler functionality. This means that you can schedule the reports to run on a particular database and by the time you get to your desk of a morning, the run will be complete and the final PDF can be viewed. This can really help when considering how a database is used. If lots of company users are continually in and out of the database, they will not thank you for doing a massive report run while they are working which potentially slows things down for everyone. If you were to schedule your reports to run at midnight for example then nobody will care!

While Crystal Reports is therefore available as an advanced, functionality filled reporting software package, it is not the case that it is only for advanced programmer use. Novice users can make use of the simple wizards to start making simple reports before building up their knowledge and experience. My advice would be to download a free trial and give it a go. Once you realise that the competition are producing amazing reports while you are still trying to hobble through with a mail merge, the benefits are obvious. And what's more the competition is probably giving the job to someone just like you since the complicated development work will be left to jobs that truly require a developer!