Great Flexibility - the limitations in how or what the report will look & feel is really limited by the developer. Formulas can be placed on virtually any field or level. Data can be conditionally suppressed, fonts changed, splashes of color added all dependent on the data provided.Data sources options - whether you're connecting via DB2, MySQL, MS SQL, Oracle, a WebService, or any other number of connection types - there are tons of inherent connections to the tool. Configuring a connection is done easily with a wizard, and changing the connection (say during an upgrade of the source system or a server change) can be done very easily as well while retaining the report fields.Sub-Reports - many times a complex report may report on many different aspects of the data, tethering tying together lots of different data together into a nice little report. Using sub-reports allows the different reports and their SQL to be compartmentalized, while still allowing the reports fields and the variables to be shared between the main report and the sub-report(s).Formulas - Once you get the hang of the formulas in Crystal Reports, they are very powerful. Different flags and indicators can be constructed, suppression based on the formula fields, or formula fields based on other formula fields in conjunction with the source data. Creative formula construction is just one of the many tools in Crystal Reports that allows this tool to be so flexible and robust.
Room for Improvement:
All the options - These same options that allow Crystal Reports to be so customizable and really achieve the report your customers desire can be a burden. If you have "inherited" an existing report, there are a number of different ways that the "Look and Feel" of the report may have been achieved - and sometimes figuring out how something was done in Crystal Reports can be like solving a Hardy Boys mystery!Syntax constructs - the syntax used in Crystal Reports (formulas) is slightly different than most other languages, using a combination of curly brackets and pipes with some traditional syntax. When constructed incorrectly, there isn't much assistance in what steps you need to take to correct your formula - only something telling you it is wrong!