Operation Manual
Understanding Databases
Server-side processing
25
518 Crystal Reports User’s Guide
Note:
• When you drill-down on a hidden section of a report, with the processing
being done on the server, connection to the server will be automatically
initiated. If the client is disconnected from the server (for example, if you
download a report onto your laptop and you work on it from a remote
location), then drilling-down on data will produce an error since the
database is not available.
• If you save a report that has been partially processed on the server using
the Save Data with Report option, the program will save only those
records that have been transferred to the client side. In other words, if
you have drilled-down on a hidden section and there is a tab for that data
in Crystal Reports (indicating the data has been transferred), those
records will be saved with the report.
How server-side grouping affects the SQL query
When a report pushes most of its processing to the server, this by necessity
alters the SQL query. Thus, when the Perform Grouping on Server option is
enabled, individual aspects of server-side processing will modify the SQL
statement in different ways.
• If you select Use Indexes Or Server For Speed (in the Report Options
dialog box), the program adds an ORDER BY clause to the SQL statement
and a WHERE clause for the record selection formula, if possible.
• If you group on a linkable data type in the DBMS, the program adds a
GROUP BY clause to the SQL statement. The program uses the GROUP
BY clause to perform the grouping on the server.
• If you summarize on a linkable data type, the program adds a summary
field to the SELECT clause of the SQL statement.
• If you drill-down on a linkable data type, the program adds a WHERE
clause to the SQL statement.
• If you group in descending order on a linkable data type, the program
adds an ORDER BY clause to the SQL statement.
The statement also varies between tabs:
• If you are working in the Preview tab, the statement includes the GROUP BY
clause, as well as any aggregates that the report is pushing to the server.
• If you are drilling-down, the statement varies depending on the underlying
data and the level of drill-down. With each drill-down, the WHERE criteria
changes. Also, if you drill-down to the details, the statement will not
include a GROUP BY clause (since you no longer have any groups on
that drill-down tab).