Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CRW_REF.PDF
Скачиваний:
5
Добавлен:
13.02.2015
Размер:
13.99 Mб
Скачать

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]