Thursday 13 October 2011

Crystal Reports: Drill Down Reports at One Level


Crystal Reports: Drill Down Reports at One Level

Drill Down Reports are among the powerful features available in Crystal Reports. If you have a simple report with one group, one series of subtotals, and some detail information, you can change it into a drill down report by setting "Hide" on Group Header 1 and the detail section.One thing that makes the drill down work better is to put the Group Name, or some other suitable caption into the group footer. That caption and the subtotals are what appear at the top level. When you drill down with a double click you get the Group Header, Details and Group Footer.
Drill down reports can be viewed and printed at the summary level, or a specific drill down, or any combination of these. They are a useful analysis tools for users at all levels.
Now, here's a twist.
A Chelseatech client wanted a report developed that had three groups (product group, product and customer) with a drill down to the lower level groups. The challenge was that the lowest level actually combined two fields: region and customer. They didn’t want a drill down or summary by region, but at the customer level they wanted customers sorted by region and then customer.
So we used a formula to combine the two fields (Region + Customer) and grouped by that. We customized to group name to display the customer name and placed the region field in the group 3 header.
We then set the conditional suppress on the Group 3 header to
DrillDownGroupLevel <>2 and {Table.Region} = Previous({Table.region})
The top two levels displayed as expected. When the third drill down processed, we got the header section with the region description to appear. This was exactly what the customer wanted.

Use DrillDownGroupLevel function in a formula for your page header
The other useful technique we used on that report was to use a formula for the page title. Inside the formula we used DrillDownGroupLevel to create a level specific heading:
If DrillDownGroupLevel = 0 then "Company Sales Report else
If DrillDownGroupLevel = 1 then "Product Sales: " + {Table.Product} else //etc.

No comments:

Post a Comment