
- •Welcome to Seagate Crystal Reports
- •Welcome
- •Two kinds of Hands-On tutorials
- •Command, button, key, and control conventions
- •Using Seagate Crystal Reports documentation
- •Seagate Crystal Reports online Help features
- •If you need more help...
- •Installation Requirements
- •Installing Seagate Crystal Reports
- •Installing on a network workstation
- •Upgrading from a previous version
- •Quick Start
- •Subreports expand report usefulness
- •Query Designer adds ad-hoc querying capabilities
- •Parameter fields mean multi-purpose reports
- •Text objects give you text with intelligence
- •Preprinted-form reports easier than ever
- •More powerful formulas extend your capabilities
- •Web solution serves up variety of online reports
- •HTML exporting simplifies Web activities
- •New database support improves data access
- •Running totals made easy
- •Smart Navigation
- •Learning Seagate Crystal Reports
- •User’s Guide
- •Online Help
- •Books Online
- •Sample Reports
- •Glossary
- •Sample Data - CRAZE.MDB
- •Suggested learning paths
- •The application window
- •Menu bar
- •Standard toolbar
- •Supplementary toolbar
- •Format bar
- •Status bar
- •Shortcut menus
- •Cursors
- •Design Tab
- •Preview Tab
- •Other fundamentals
- •HANDS-ON (Report Design Environment)
- •How to add, delete, and move guidelines
- •How to move and position objects using guidelines
- •How to turn the grid on/off
- •How to zoom your report in and out
- •How to undo/redo activities
- •How to drill down on summarized data
- •HANDS-ON (Sections and Areas)
- •How to add, delete, move, and merge sections
- •How to split and resize sections
- •Basic report design
- •How to design a prototype
- •Concepts in reporting
- •Beyond basic reports
- •HANDS-ON (Report Creation and Design)
- •How to select data and begin creating a report
- •How to add and link multiple tables
- •How to insert database fields
- •How to insert special fields
- •How to insert a page n of N field
- •How to insert text objects
- •How to use a database field in a text object
- •How to insert a picture
- •How to select, move, and resize objects
- •How to hide parts of the report
- •HANDS-ON (Finishing Your Report)
- •How to insert page headers and footers
- •How to add a title page to your report
- •How to add summary information to your report
- •Printing considerations
- •Design solutions for printing/distributing
- •Report creation checklist for distributed reports
- •Updating printer drivers
- •Report distribution
- •HANDS-ON (Distributing Your Report)
- •How to export reports
- •How to fax a report
- •How to request reports from a web browser
- •How to specify parameter field values
- •How to log on to a database
- •How to view plain HTML reports
- •Overview
- •Getting started
- •Record Selection
- •Grouping and sorting
- •Completing the report
- •Introduction
- •Working with Arbor Essbase data
- •HANDS-ON (Reporting on OLAP data)
- •How to create a cross-tab with Essbase data
- •Using multiple sections in reports
- •HANDS-ON (Multiple Section Reports)
- •How to work with text objects
- •How to create a form letter using a text object
- •How to format objects conditionally
- •How to print conditional messages in form letters
- •How to alternate background colors for rows
- •How to eliminate blank lines
- •How to add blank lines conditionally
- •Formatting concepts
- •Absolute formatting
- •Types of formatting properties
- •Conditional formatting
- •HANDS-ON (Absolute Formatting)
- •How to add color, shading, and borders
- •How to add/edit lines and boxes
- •How to change margins
- •How to add/delete white space between rows
- •How to set page orientation and paper size
- •HANDS-ON (Conditional Formatting)
- •How to flag values that meet certain conditions
- •Record selection
- •Group selection
- •Record selection formula templates
- •HANDS-ON (Record and Group Selection)
- •How to create a record or group selection formula
- •How to use record/group selection templates
- •How to select the top or bottom N groups
- •Sorting, Grouping, and Totalling Overview
- •Creating custom groups
- •HANDS-ON (Sorting, Grouping, and Totalling)
- •How to do a single field sort
- •How to do a multiple field sort
- •How to group data
- •How to sort records within groups
- •How to summarize grouped data
- •How to subtotal grouped data
- •How to sort based on summarized group values
- •How to create multiple levels of subtotals
- •How to group data in intervals
- •How to calculate a percentage of the grand total
- •How to create group headers
- •What are formulas?
- •Other formula conventions
- •Formula syntax
- •How formulas are evaluated - Order of precedence
- •HANDS-ON (Formulas 101)
- •How to insert a formula in your report
- •How to delete formulas from your report
- •How to copy formulas from online Help
- •How to copy formulas from one report to another
- •How to create if-then-else formulas
- •How to format text with formulas
- •How to use variables in formulas
- •How to declare a variable
- •How to assign a value to a variable
- •How to conditionally assign values to variables
- •How to use an array in a formula
- •How to use a range in a formula
- •How to use semicolons in formulas
- •How to fine tune group selection formulas
- •How to fine tune record selection formulas
- •How to debug a formula
- •Introduction
- •HANDS-ON (Advanced Totalling)
- •How to maintain running totals in a list
- •How to subtotal running totals within groups
- •How to subtotal without grouping
- •How to subtotal true A to B, A to C reports
- •Parameter field objects overview
- •Multiple parameter fields
- •Parameter field considerations
- •HANDS-ON (Parameter Field Objects)
- •How to create a parameter field
- •How to use a parameter field in a formula
- •How to respond to parameter field prompts
- •How to use wildcards with parameter fields
- •How to set a report title using parameter fields
- •How to set sort order using parameter fields
- •Graphing Overview
- •Choosing a graph or chart type
- •Where to place your graph
- •Data you can graph on
- •Before you create your graph
- •HANDS-ON (Graphing)
- •How to graph on a summary or subtotal field
- •How to graph on a details field
- •How to graph on a formula field
- •How to graph on cross-tab summaries
- •How to edit graphs using PGEditor
- •How to use the underlay feature with graphs
- •OLE Objects Overview
- •Inserting OLE objects in your reports
- •Linked vs. Embedded Objects
- •The dynamic OLE menu commands
- •OLE and the Picture command
- •General OLE considerations
- •HANDS-ON (OLE Objects)
- •How OLE objects are represented in your report
- •How to use OLE - General Overview Tutorial
- •How to insert a graphic/picture as an OLE object
- •What are subreports?
- •Unlinked vs. linked subreports
- •How subreport linking works
- •HANDS-ON (Subreports)
- •How to insert a subreport
- •How to preview your subreport
- •How to combine unrelated reports using subreports
- •How to use subreports with unlinkable data
- •Cross-tab overview
- •Cross-tab components
- •HANDS-ON (Cross-Tab Objects)
- •How to create a cross-tab object
- •How to format a cross-tab
- •How to print cross-tabs that span multiple pages
- •The Crystal Query Designer
- •HANDS-ON (Queries)
- •How to create a new query
- •How to add tables to a query
- •How to link tables and specify a join type
- •How to add fields to a query
- •How to identify unique values in a query
- •How to summarize data with aggregate functions
- •How to sort records according to field values
- •How to specify records to be included in a query
- •How to select groups to be included in a query
- •How to create an SQL expression
- •How to create a query from another Crystal Query
- •How to select a query for a report
- •How to use a parameter field in a query
- •Dictionaries Overview
- •HANDS-ON (Dictionaries)
- •How to create a new dictionary
- •How to add a data file
- •How to open an SQL or ODBC data source
- •How to link multiple tables
- •How to select tables and fields for users
- •How to add/create formulas
- •How to move fields/field headings within the list
- •How to update the location of a database table
- •How to add a new field heading
- •How to add Help text
- •How to add a graphic
- •How to create sample data for users to browse
- •How to edit an existing dictionary
- •How to convert a 3.x or 4.x dictionary file
- •How to select a dictionary for a report
- •Databases Overview
- •For additional information
- •HANDS-ON (Working With Databases)
- •How to open Access queries through DAO
- •How to open Access queries through ODBC
- •How to open Access parameter queries
- •How to set up an ODBC data source
- •How to check settings for an ODBC data source
- •How to log on to an ODBC data source
- •How to add an ODBC database table to a report
- •How to log on to MS SQL Server via ODBC
- •How to log off an ODBC data source
- •How to set up an A to B, A to C link
- •How to edit an SQL query
- •How to use an ACT! database
- •How to open the NT Event Log
- •Introduction
- •Four types of data
- •Direct access database files
- •ODBC data sources
- •Crystal Query Designer files
- •Crystal Dictionary files
- •Multi-pass reporting
- •Product support
- •Web support
- •E-mail support
- •Fax support
- •Telephone support
- •Extended technical support policy
- •Product registration
- •Product return policy
- •Product replacement policy
- •Glossary

Sorting, Grouping, and Totalling Overview
Sorting
Sorting by
record
Sorting, grouping, and totalling are the steps that turn disorganized data into useful information on a report. Following is an introduction to the concepts behind sorting, grouping, and totalling. Refer to the many Hands-On tutorials for detailed instructions for most of the things you want to be doing in these areas.
Sorting means putting values in some kind of order to help you find and/or evaluate them. For example, information in a phone book is sorted because it would have little usefulness if it was not sorted. Trying to find someone’s phone number in an unsorted book would entail a random search through tens of thousands of names, a true needle-in-a-haystack experience. With sorting, however, you can find the number you need in a hurry. For example, if you are looking for the phone number of a John J. Smith, you might use the following levels of sorting to find it.
●The data is sorted by last name so you know the name Smith is in the S section of the book and you turn there immediately.
●When you find the Smiths, (and there are a lot of them) you see that they are sorted by first name so that John Smith comes after Bob Smith. You turn to the John Smiths.
●Finally, when you find the John Smiths (and here again, there are several of them), you see that they are sorted by middle initial so the John J. Smiths come after the John D. Smiths. You turn to John J. Smith, find his phone number, and place the call.
Thanks to sorting you can find anybody’s listed phone number in seconds.
When you sort, the program asks you to select two things:
●the field you want your sort to be based on (sort field), and
●the sort direction.
272 |
Seagate Crystal Reports User’s Guide |
SORT FIELD
A sort field is a field that determines the order in which data appears on your report. Seagate Crystal Reports sorts field data using rules specific to the Country you select in the International section of the Windows Control Panel (Windows 3.x, Windows NT 3.51 or 4.0) or the Regional section (Windows 95).
You can use any field as a sort field including formula fields. A field's data type determines the method in which the data from that field is sorted:
●String fields are sorted in the following manner:
¾Single character values are sorted so that blanks have the lowest value, then punctuation, then numbers, then uppercase letters, and finally lowercase letters.
¾Then two character values are sorted, then three, etc., using the same rules. As a result:
¾“BOB” comes before “bob”,
¾“123” comes before “124”,
¾“ “ (blank) comes before “a”, and
¾“aa” comes before “aaa”.
●Currency fields are sorted in numeric order.
●Number values (120 or 5555) are sorted in numeric order.
●Date fields are sorted in chronological order.
●DateTime fields are sorted in chronological order by date and same-date values are then sorted by time.
●Time fields are sorted in chronological order.
●Boolean comparison fields are sorted so that False values (0) come first, then True values (1).
When you select a sort field, the program sorts the values from that field.
SORT DIRECTION
Direction refers to the order in which the values are displayed, once sorted.
Sorting, Grouping, and Totalling |
273 |
Single field sorts
Multiple field sorts
●Ascending
Ascending order means smallest to largest, 1 to 9, A to Z, False to True. The program sorts the records in ascending order based on the values in the sort and group by field you select, and then it begins a new group whenever the value changes (from Adams to Brown, for example).
●Descending
Descending order means largest to smallest, 9 to 1, Z to A, True to False. The program sorts the records in descending order based on the values in the sort and group by field you select, and then it begins a new group whenever the value changes.
When you group data you have two more sort direction options:
●Original
Original order means the order the data was originally saved in the database. The program leaves the records in the order in which they appear in their originating database table, and it begins a new group whenever the value changes in the sort and group by field you select.
●Specified order
Specified order means a user-defined order. The program puts each record in the custom group you specify, and it leaves the records in each group in original order or it sorts them in ascending or descending order, depending on your instructions. See Creating custom groups, Page 277.
Single field sorts are sorts in which all the records used in the report are sorted based on the values in a single field. Sorting an inventory report by stock number or sorting a customer list by customer number are examples of single field sorts. See Results using different sorting and grouping operations, Page 275, and How to do a single field sort, Page 281.
In multiple field sorts, Seagate Crystal Reports first sorts the records based on the values in the first field selected, putting them in ascending or descending order as specified. When two or more records have the same field value in the first sort field, it then sorts those records only based on the value in the second sort field. For example, in a sort on last name and then first name (in ascending order), “Smith, Bob” would be returned before “Smith, John” no
274 |
Seagate Crystal Reports User’s Guide |
Sorting and
grouping
Results using
different sorting and grouping operations
matter which way the fields are listed in the database. It follows a similar process for three field sorts, four field sorts, and so on. See
Results using different sorting and grouping operations, Page 275, and How to do a multiple field sort, Page 283.
Seagate Crystal Reports has the most powerful sorting and grouping capabilities of any Windows based report writer. When you select a grouping option, the program automatically sorts the data as part of the grouping operation. See Results using different sorting and grouping operations, Page 275.
The following chart shows the way data would appear after being manipulated using different sorting and grouping operations.
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CO |
AZ |
WA |
AZ |
WA |
CO |
WA |
CA |
WA |
|
|
|
|
|
|
|
|
|
WA |
CA |
WA |
|
WA |
|
CA |
CA |
WA |
|
|
|
|
|
|
|
|
|
CA |
CA |
WA |
CA |
WA |
WA |
CA |
CA |
WA |
|
|
|
|
|
|
|
|
|
CA |
CA |
CO |
CA |
|
|
CA |
CA |
CA |
|
|
|
|
|
|
|
|
|
CA |
CA |
CO |
CA |
CO |
CA |
WA |
CA |
CA |
|
|
|
|
|
|
|
|
|
AZ |
CA |
CA |
CA |
CO |
CA |
WA |
WA |
CA |
|
|
|
|
|
|
|
|
|
WA |
CO |
CA |
CA |
|
CA |
CA |
WA |
CA |
|
|
|
|
|
|
|
|
|
WA |
CO |
CA |
|
CA |
|
CA |
WA |
CA |
|
|
|
|
|
|
|
|
|
CA |
WA |
CA |
CO |
CA |
AZ |
|
|
|
|
|
|
|
|
|
|
|
|
CA |
WA |
CA |
CO |
CA |
|
CO |
AZ |
CO |
|
|
|
|
|
|
|
|
|
CO |
WA |
AZ |
|
CA |
WA |
AZ |
CO |
CO |
|
|
|
|
|
|
|
|
|
|
|
|
WA |
CA |
WA |
CO |
CO |
AZ |
|
|
|
|
|
|
|
|
|
|
|
|
WA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WA |
AZ |
CA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CO |
|
|
|
|
|
|
|
|
|
|
|
|
● Column 1
The data as it appears in the database table.
Sorting, Grouping, and Totalling |
275 |
●Column 2
The data from Column 1 sorted in ascending order (A to Z,
1to 9). There is no grouping.
●Column 3
The data from Column 1 sorted in descending order (Z to A,
9to 1). There is no grouping.
●Column 4
The data grouped in ascending order. The program automatically sorts the data in ascending order and then inserts a group break whenever the value changes.
●Column 5
The data grouped in descending order. The program automatically sorts the data in descending order and then inserts a group break whenever the value changes.
●Column 6
The data grouped in original order. The data is not sorted before it is grouped. The program inserts a group break whenever the group value changes. Note that similar values may appear in more than one group (for example, CA and CO have more than one group).
●Column 7
The data grouped in specified order. This is one of thousands of possible custom groupings. In this example, the first group consists of Pacific states and the second group consists of Mountain states. The records in each group are sorted in original order.
●Column 8
The same specified order grouping as Column 7, but the records in each group are sorted in ascending order.
●Column 9
The same specified order grouping as Column 7, but the records in each group are sorted in descending order.
As you can see, your sorting and grouping choices can have a major impact on the way data appears on your report.
276 |
Seagate Crystal Reports User’s Guide |