Crystal Reports creates structured reports from databases by selecting fields from source data and grouping them appropriately. Reports can include calculations, such as totalling the items in each group and graphing numeric data.
Once the structure of a report is complete, the final document may be distributed over the Web or embedded into other documents and applications.
Crystal Reports enables you to use multiple data sources in different database formats. Version 9 brings with it additional tools for Web-based reporting as well as a repository feature and improved template controls. Usability is also better than in previous releases, but this is still a tool for technically adept users.
One of the product's traditional strengths has been the array of data types it supports, with version 9 increasing the list to over 30. These range from desktop data sources such as Microsoft Access and Paradox to enterprise-level products including Oracle, SQL Server and DB2. To complete the range of features, XML and OLAP tools are also provided, but the omission of support for FileMaker is surprising and inexcusable.
This release adds tools for building connectors to custom database formats using JavaBeans, COM or ADO .NET.
The new repository feature is welcome, providing a means of reusing report components. SQL commands, images and text objects can now be stored centrally and made available to all Crystal Reports 9 users. As a result, complex SQL commands now need only to be built once and reused in future reports. On this note, support for SQL commands has also been extended, including the ability to create unions between tables and execute subselects. It's also possible to add input parameters to commands and store them with the relevant SQL code in the repository.
The repository also functions as a place to store frequently used images and blocks of text, as well as formulae for carrying out actions on report data. As with SQL commands, you're able to amend the content of a text or image object within a report and resave it to the repository either as a separate entity or as an update to an existing item. However, you can't 'lock' individual objects to prevent them from being edited.
A selection of predefined functions covering date, financial, formatting and mathematical calculations are supplied as part of the product, but a new Function Workshop is also included for creating custom code. This is an improvement over the Formula Expert found in previous versions of Crystal Reports and also provides a Wizard-style interface for less experienced users.
This release includes a new Custom Templates feature, which at least provides the ability to reuse a design once it's been created. Templates may include graph conversion features – a means of quickly converting numerical tables into more visual formats – as well as formatting. Multiple templates can be applied to a single report, so layouts and graphics from different sources may be combined to produce new designs.
However, structuring and formatting a report in the first place is still awkward. For example, there's no option to automatically adjust a report's layout when new elements such as formula fields or text objects are added. As a result, getting layouts correct is still time-consuming and fiddly, making the new template reuse features all the more welcome.
A Template Expert manages completed templates. It includes a browse function for finding and applying Crystal Reports templates stored anywhere on a local drive or network. There's also a set of 10 default templates included with the product, although few of these are genuinely usable. Existing reports can also be saved as templates, including files from earlier versions of Crystal Reports.
Crystal Reports 9 is one of the few applications to have embraced the Smart Tags functionality included in Microsoft's Office XP. In the case of Crystal Reports 9, this allows you to display elements of a database report within a word processor or spreadsheet document, then link directly to the original report. For reports where data is being extracted from multiple sources, this provides a quick and easy way of getting complex information into a shareable and editable format.
Features for Web-based reporting include a Report Application Server, which requires Microsoft IIS to be installed. This provides a selection of features for creating reports in HTML, Word and Excel, which can then be accessed without
the need for a locally installed version of the product through a standard browser.
Although the new repository tools mean that less experienced users don't have to understand SQL or functions to create reports, this is still a complex product from a developer's perspective.
However, improved features for managing both completed reports and reusable objects benefit productivity and make Crystal Reports more accessible.
Output is now more flexible too, with the addition of Report Parts and Web-based tools. These add up to some significant improvements for which you'll pay dearly, but it's still not for the faint-hearted.