- •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
HOW TO INSERT TEXT AND NUMBERS IN FORMULAS
You insert text and numbers in formulas by typing them directly into the Formula text box of the Formula Editor. You can also click the Browse Field Data button, highlight the value you want to insert from the list that appears, and select Paste to paste the value into your formula.
NOTE: Be sure to review the correct syntax for text and numbers in formulas. See Formula syntax, Page 334.
Other formula conventions
The following is a description of the remaining elements available for use in assembling a formula.
Other formulas Just as you can enter fields in formulas, you can enter other formulas in formulas. Seagate Crystal Reports performs the calculations in the inserted formula, and then uses the value returned by the referenced formula in the same way it uses any other value.
For example, the formula:
1*(2+4*6/3-7*12-8) +2*(2+4*6/3-7*12-8) +3*(2+4*6/3-7*12-8) +4*(2+4*6/3-7*12-8)= -820
includes the expression (2+4*6/3-7*12-8) repeated many times.
If you create a formula for the repeated expression (@F = (2+4*6/ 3-7*12-8)) and then reference that formula instead of entering the expression itself, you will get the same result.
1*{@F}+2*{@F}+3*{@F}+4*{@F} = -820
Every time the program sees the formula @F, it performs the @F calculation and returns the value -82, just as the expression underlying the formula (2+4*6/3-7*12-8) returns the value -82. See
How formulas are evaluated - Order of precedence, Page 337.
HOW TO INSERT OTHER FORMULAS IN FORMULAS
You can insert other formulas into your formulas in the same manner as you did other fields:
Formulas 101 |
331 |
Group field values
Formula comments
●via the Fields box, or
●by typing them in manually.
See HOW TO INSERT FIELDS IN YOUR FORMULA, Page 328.
NOTE: Be sure to review the correct syntax for using formula fields in your formula. See Formula syntax, Page 334.
Group field values are values that summarize a group (a group subtotal, a group average, etc.). You can use them in formulas for many reasons. A typical reason would be to find out the percentage of the grand total that each group contributes. For example, what percentage of the $2,300,000 US sales figure did the Western Region contribute?
HOW TO INSERT GROUP FIELD VALUES IN FORMULAS
You can insert group field values into your formulas in the same manner as you did other fields:
●via the Fields box, or
●by typing them in manually.
NOTE: Due to the syntax complexity of some group fields, it is highly recommended that you enter group fields by selecting them from the Fields list box versus manually typing them in. See
Formula syntax, Page 334.
Formula comments are notes that you include with a formula to explain its design and operation.
Comments do not print and they do not affect the formula, but they appear in the Formula Editor. It is always a good idea to include comments with complex formulas for other users of your reports, especially those formulas that will be used again and again over time.
HOW TO INSERT COMMENTS IN FORMULAS
Type your comments in the Formula text box in the Formula Editor. A comment must be preceded by two slashes (//). The comment can be above or below the formula, or it can even follow the formula on the same line.
332 |
Seagate Crystal Reports User’s Guide |
Formula
comment considerations
Any of the following three placements are acceptable:
//This is an acceptable //position for a comment.
//Note that when you forcethe line break, //you have to begin each new line
//with double slashes. These comments //refer to the formula below.
If {orders.ORDER AMOUNT} in (100.00 to 250.00) Then
.10 * {orders.ORDER AMOUNT} Else
0
//This is also an acceptable comment position //for detailing the formula above.
If {orders.ORDER AMOUNT} > 10.00 Then
“” //This position is also acceptable. Else
“Flag”
The following are considerations when including comments with formulas:
●The proper syntax for a comment is two forward slashes (//) followed by the comment. When the program sees the two slashes, it realizes that the text that follows for the rest of the line is comment only and not to be evaluated as part of the formula itself.
●Seagate Crystal Reports treats everything that follows the slashes on the same line as a comment.
●If your comment is long and automatically wraps to the next line, no additional slashes are necessary; the program treats it as one continuous comment.
●If you break your comment into two or more lines using the Enter key, you must begin each new line with two slashes. If you do not begin each new line with two slashes (//), the program treats each unslashed line as part of the formula itself and displays an error message when you check the formula syntax.
Formulas 101 |
333 |
Formula syntax
|
Seagate Crystal Reports requires you to enter the various |
|
components of a formula according to a specific set of rules called |
|
syntax. Syntax, like the grammar of any language, takes practice |
|
to learn and perfect. Formula components must be written in a |
|
specific way and entered in specific order. The program uses |
|
syntax items (quotation marks, brackets, parentheses, etc.) to |
|
identify the various formula components, so it is very important |
|
that you stick to the rules in order for the program to recognize |
|
your formulas as well as have them work as you plan. |
|
The various components of formulas, and their syntax, are listed |
|
below: |
Text |
“Text” or ’Text’ |
|
(enclosed within single (’) or double quotes (”)) |
|
When using text in formulas, it must be enclosed within single (’) |
|
or double (”) quotes. Whatever text is within those quotes will be |
|
printed. If your text includes an apostrophe, you must use double |
|
quotes. |
|
For example: |
|
CORRECT |
|
“Last Year’s Sales” |
|
INCORRECT |
|
’Last Year’s Sales” |
Numbers |
23134.7 |
|
When using numbers in formulas, they must be entered without |
|
any comma separators or currency symbols. |
Fields |
{table.FIELD} |
|
When using fields in formulas, they must be enclosed within |
|
French braces { } with the table name to identify which database |
|
table you are referring to followed by a period and then the field |
|
name within that table. |
334 |
Seagate Crystal Reports User’s Guide |
Operators
Functions
Brackets in formulas
EXAMPLE
{customer.REGION}
This identifies the Region field from the Customer table.
1+1
When using operators in formulas, you simply type in the operator where desired. You may place a space before and after the operator if you desire, but to do so is optional (i.e., 1 + 1).
FunctionName(x)
When using functions in formulas, you simply type the function and supply the arguments (if any) as specified in the parentheses. For example, the Average (x) function requires a field or formula as its (x) argument.
EXAMPLE
Average({order.AMOUNT})
This formula will calculate the average of all values in the Amount field.
Seagate Crystal Reports uses three different types of brackets in writing formulas. Each one has a specific purpose and can be used only with certain formula elements.
●{ } are called French braces and are placed around database, formula, and parameter fields:
{customer.REGION}, {@sum}, {?Region}
●[ ] are called Square brackets and are placed when using the Subscript or Array Operator:
{customer.CUSTOMER NAME} [1]
●( ) are called Parentheses and are placed around the arguments of a function:
Round(x, # places), Abs(x)
Formulas 101 |
335 |
NOTE: Parentheses can also be used to control the order in which the formula elements are evaluated. See How formulas are
evaluated - Order of precedence, Page 337.
HINT: A useful way to remember which brackets are used for what is the following:
●French { } = Fields
●Square [ ] = Subscript (and Array)
●Parentheses ( ) = Parameters
Whether you enter the formula manually or by double-clicking formula components from the component list boxes, you must use the correct syntax for your formula to work.
When you double-click this Sum function, Seagate Crystal Reports enters the function and required
syntax items.
Commas between |
Quotes for |
Parentheses |
arguments |
arguments |
|
Sums the values in the |
whenever the |
from one week |
Order Amount field... |
date changes... |
to the next. |
336 |
Seagate Crystal Reports User’s Guide |