|
|||||||||
|
Crystal Reports Tools: Improve Performance While Saving Time and Money |
|
Crystal Reports: How to Identify the Last Group in a ReportTo identify Last group in the report, you can use a formula with a DistinctCount and a GroupNumber function. GroupNumber = DistinctCount({table.groupfield}) If your groupfield is at a lower level, you will need to modify the DistinctCount summary and this will identify the last group at that level for each higher level group. If your reports are becoming complex enough that you need to actually do this, then you would be smart to buy a copy of Report Analyzer for Crystal Reports. This analysis tool automatically detects and documents potential performance issues in your Crystal Report design settings--including record selection formulas, grouping options, and database options.
More info on groups in reports You can group by the same field more than once. This could be useful if you have used Specified Order for the higher level group, or the report is TopN and you would like the "Others" group to show totals by the original field at the next level down. However if you use that summary in a formula, interesting things happen. The summary is referred to in the formula as
There is nothing in that formula to distinguish which of the two levels summaries you want. So the formula will always display the higher level total. This means you can’t use the lower level summary in that form in the report. If you want the lower level summary in a formula you will need to create a formula to calculate the original group field. Then create the lower level group by the formula rather than the field. You can use this summary in a formula. We have a sample report to demonstrate this available from our web site to illustrate this. Grouping by a field more than once is available in Crystal Reports versions 9, 10 and XI. Crystal Reports 8.5 and earlier will not allow you to create a group if the field is already used for grouping. However, our formula field solution lets you group by a field more than once for any version of Crystal Reports. And the summaries don’t get confused when you use them in formulas.
On a related topic, you can also group on pages. Using groups in a report is one of the major strengths of Crystal Reports. Creating the right groups and using them effectively is one of the skills you quickly develop. Use the group header, and display the group name and other fields to identify the group. It can also be useful to move the column headings from the Page Header to the Group Header section. But what if you have a large group that flows over to a subsequent page? How do you control the report so the headings re-appear on each page as the group continues? When you create the group, select the option "Repeat Group Header on Each Page." This will cause the group header to appear on each new page. If you have forgotten to set this, you can change an existing group, and set it later when you need to. Here's another tip on this subject: Display “Continued” when a group continues onto a new page. It can also be useful to display the word “Continued” when then the group header is not the start of the group. Place this formula in the group header section: If InRepeatedGroupHeader then “Continued” Be careful how you define your groups Several things happen if you have large groups in your report. One of those is particularly irritating: you discover a blank page at the start of your report, or in the middle of your report you get a page with a group heading, and the rest of the page is blank. The cause is the way a group has been defined. "Keep Together" is the property you want to check, and in this case make sure it is not ticked. Keep together says: "When I start the group, see if there is enough room on the rest of the page, and if not, start the report on the next page." A large group will cause a page break, and surplus blank pages.
This article is copyrighted by Crystalkeen, Mindconnection, and Chelsea Technologies Ltd. It may be freely copied and distributed as long as the original copyright is displayed and no modifications are made to this material. Extracts are permitted. The names Crystal Reports and Seagate Info are trademarks owned by Business Objects. |