The suggested approach handles displaying any non-additive functions in Crystal Reports cross-tab: percentages of growth and market penetration, inventory counts, ratios between any database fields, both included and not included into the report, and, in-general, any functions other than basic statistical functions currently offered in cross-tabs. Some programming within the database and VB.Net is required, but even generic code handling multiple functions can be developed without difficulties.
The benefits of this approach are:
Calculating subtotals and totals on different levels within the database is an easy task. Often, these calculations can be implemented in just one MS SQL Server stored procedure!
The approach works for any number of rows and columns in the cross-tab without changing any logic.
No difficulties or strange errors happen when producing multi-page reports and reports with any functions.
Despite the multiple searches of lists on all subtotal and totals levels within the cross-tab, the change in report generation speed was negligible and hardly noticed.