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

Multi-pass reporting

What is a “pass”?

Pre-pass #1

Pass #1

A pass is a process that Seagate Crystal Reports uses each time the data is “read” and manipulated. Therefore, if a report reads and manipulates the data twice, it is considered to be a two-pass report. This feature is one that is very powerful in the data access and reporting industry because it allows for complex reporting and formula manipulation. Therefore, percent of subtotal calculations are possible due to the two-pass reporting capabilities of Seagate Crystal Reports. Some reports can be onepass, yet in most cases two-passes will be issued. The following section offers a brief overview of the two-pass reporting concept. Following the written description is a visual representation of this process.

When previewing a report, the first elements to be evaluated are “flat” formulas. Flat formulas are those that do not contain database fields. For example, 100* 30 would be a flat formula. Flat formulas are evaluated at the beginning of the print preview process and are never evaluated again. This process is known as “BeforeReadingRecords”. If you were to place a flat formula field (i.e., 100*30) in the Details section, the result would be 3000 for each record displayed.

Once the “BeforeReadingRecords” process has taken place, Seagate Crystal Reports will begin reading the database records. During the record reading process the following will occur:

1.Record Retrieval.

2.Evaluate “recurring” formulas. These formulas are those that contain database fields but do not contain references to subtotals or summary information that would require data manipulation in the second pass. This evaluation time is known as “WhileReadingRecords”.

3.Apply the record selection criteria. If the selection criteria is based on a database field that is indexed (i.e., {company.LASTNAME} = “SMITH”), then Seagate Crystal Reports rejects records not equal to SMITH immediately after evaluating the recurring formulas. The reason for this is that

630

Seagate Crystal Reports User’s Guide

Top/bottom N

and group sorting

Pass #2

the selection criteria may include recurring formulas. (i.e., {table.FIELD} = {@Formula}).

4.Totalling. A typical report usually contains groups, sorts, and subtotals and Seagate Crystal Reports tries to process as many of these in the first pass as possible. As the records are processed they are divided into groups based on the group field specified in the report. Each of these groups is sent to an internal “totaler”. This counting mechanism stores a subtotal of each group, in memory, which is then used later in the report process.

5.Store the saved records. After the totalling process is complete, all of the records and totals are stored into a “saved records” object. This object stores data in memory and on disk in the form of temporary files. Saved records are used during the report's second pass for two-pass calculations, group sorting, etc. Therefore, the second pass of the report does not actually read the database again, instead it uses the saved records object.

Steps 1 to 5 are an iterative process that will repeat for each record being read.

Top/Bottom N is a process that allows a user to select either the Top or Bottom N groups. N is the number you specify. Before you can use the Top N feature, your data must be subtotaled or summarized. The group sorting allows you to specify the order in which your “groups” are printed. This sort order is based on the subtotaled or summarized field, not the grouping field.

This process, an intermediate step between passes, actually occurs in between the first and second pass of the report process and does not actually require the records to be read. Instead it only looks at the grouping information stored in the saved records object and orders the groups as specified.

After completing the TopN/Group sort process, Seagate Crystal Reports enters into a second pass of the data. This means that the program will look at the saved records object for the current information and continue with the following elements of Pass #2.

Report Processing Model

631

1.Read records that are contained in the saved records object. These records are read one at a time along with their respective subtotals.

2.Once the subtotal or summary information is available, the group selection formula can be applied. The group selection formula allows the user to select groups based on the subtotaled or summary field, not the grouping field. For example, you may only want the groups that have a subtotal greater than X.

HINT: The Group Selection Formula Editor can be used for record selection formulas, however it is not recommended. If, for example, you chose to use a typical selection such as:

{company.LASTNAME} = “SMITH”

in the Group Selection Formula Editor, the records that are displayed on your report may be correct, however, the subtotals, summaries and grand totals will most likely be incorrect. All of the subtotal/grand total information is calculated in Pass #1 and therefore, if you decide to filter out records in Pass #2 the subtotals will not be modified accordingly.

3.Evaluation of print time formulas. This process is known as “WhilePrintingRecords”. This would include formulas that have been explicitly defined as “WhilePrintingRecords” in the formula itself as well as formulas that refer to subtotals or summary fields. Examples of print-time formulas are:

% of subtotals

running totals or running averages

formulas explicitly marked “WhilePrintingRecords”

4.MetaPage Generation. These pages are generated to display your report to screen. MetaPages are similar to a standard Windows Meta File. Essentially each page is a “recording” of the individual report pages. Therefore, all of the lines, boxes, fields, etc., are stored in the MetaPages. This method of storing report pages is much more efficient than storing the pages as bitmaps. For example, the following diagram is a flow-chart of the multi-pass report process:

632

Seagate Crystal Reports User’s Guide

BeforeReadingRecords

pre-pass

Flat Formulas

 

 

 

 

 

 

 

WhileReadingRecords

 

pass #1

Database Records

Recurring

Record Selection

Totaling

Saved Records

Formulas

 

 

Formula

 

 

pre-pass

Group

 

 

 

 

Sorting/TopN

 

 

 

 

 

 

 

WhilePrintingRecords

 

pass #2

Saved Records

Totals

Group Selection

Print-Time

MetaPages

 

 

 

Formula

Formulas

 

Final Pass

Total Page

Count

Report Processing Model

633

634

Seagate Crystal Reports User’s Guide

B

Product Support

What you will find in this chapter...

Product support, Page 636

Web support, Page 636

E-mail support, Page 636

Fax support, Page 637

Telephone support, Page 638

Extended technical support policy, Page 639 Product registration, Page 639

Product return policy, Page 641 Product replacement policy, Page 641

Product Support

635

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