2.2.5.2.1.1 Multiple Consolidation Ranges

A multiple consolidation ranges PivotCache (section 2.2.5.2) is used for summarizing multiple ranges containing source data in cross-tab format. Each range is specified by the rfx field or the irstName field of the BrtBeginPCDSCSet (section 2.4.154) record. The sequence of records that conform to the PCDSCONSOL rule (defined in section 2.1.7.38) specify information that only exists for a multiple consolidation ranges PivotCache.

An example of a range in cross-tab format is illustrated in the following figure. The first column (1) of the range contains names of sales people (George and Allan). The first row in the range contains product groups (Cars and Bikes) and the rest of the cells in the range contain numeric values representing how many products in a certain product group that each sales person sold.

Example of a range in cross-tab format

Figure 1: Example of a range in cross-tab format

A multiple consolidation ranges PivotCache (section 2.2.5.2) is used to summarize multiple cross-tab ranges as illustrated in the next figure which shows eight cross-tab ranges.

Example of eight ranges in cross-tab format

Figure 1: Example of eight ranges in cross-tab format

The values in the first column (1) of each range are used to create a cache field (section 2.2.5.2.2) with the default name "Row" (or corresponding localized name); each cache item (section 2.2.5.2.3) of this cache field corresponds to one of the values in the first column (1) of the ranges, eliminating duplicates. This cache field is the first cache field in the BrtBeginPCDFields (section 2.4.137) collection.

The values in the first row of each range are used to create a cache field with the default name "Column" (or corresponding localized name); each cache item of this cache field corresponds to one of the values in the first row of the ranges, eliminating duplicates. This cache field is the second cache field in the BrtBeginPCDFields collection.

The values in all other cells of each range are used to create a cache field with the default name "Value" (or corresponding localized name); each cache item of this cache field corresponds to one of the values in the ranges that are not in the first column (1) or first row, eliminating duplicates. This cache field is the third cache field in the BrtBeginPCDFields collection.

Up to four additional cache fields can optionally exist with the default names "Page1", "Page2", "Page3" and "Page4" (or corresponding localized names). The number of optional cache fields created is user defined and is equal to the cPages field of the BrtBeginPCDSCPages (section 2.4.152) record. Each optional cache field corresponds to a BrtBeginPCDSCPage (section 2.4.151) record.

The first through fourth BrtBeginPCDSCPage record in the BrtBeginPCDSCPages collection corresponds to the fourth through seventh cache field in the BrtBeginPCDFields (section 2.4.137) collection and each cache item of this cache field corresponds to the BrtBeginPCDSCPItem (section 2.4.153) record in that BrtBeginPCDSCPage collection with the same index.

The rgiItem field of the BrtBeginPCDSCSet (section 2.4.154) record is an array of indexes that specifies BrtBeginPCDSCPItem (section 2.4.153) records in the PCDSCPAGE rule (defined in section 2.1.7.38). Each BrtBeginPCDSCPItem record specifies the value of a cache item associated with a range.

The first element in the rgiItem array corresponds to the first BrtBeginPCDSCPage collection in the BrtBeginPCDSCPages collection following the BrtBeginPCDSConsol (section 2.4.150) collection that precedes this record.

The second element in the rgiItem array corresponds to the second BrtBeginPCDSCPage collection in the BrtBeginPCDSCPages collection following the BrtBeginPCDSConsol collection that precedes this record.

The third element in the rgiItem array corresponds to the third BrtBeginPCDSCPage collection in the BrtBeginPCDSCPages collection following the BrtBeginPCDSConsol collection that precedes this record.

The fourth element in the rgiItem array corresponds to the fourth BrtBeginPCDSCPage collection in the BrtBeginPCDSCPages collection following the BrtBeginPCDSConsol collection that precedes this record.

Each cache record (section 2.2.5.2.10) for a multiple consolidation ranges PivotCache (section 2.2.5.2) corresponds to the intersection of a value in the first row of one of the ranges, a value in the first column (1) of one of the ranges and the set of BrtBeginPCDSCPItem records associated with that range.

The preceding example with the eight ranges and with two of the optional BrtBeginPCDSCPage records specified ("Page1" and "Page2"), corresponds to cache records as illustrated in the following table.

Representation of cache records based on eight consolidation ranges

Figure 4: Representation of cache records based on eight consolidation ranges

The following figure illustrates a PivotTable (section 2.2.5) report with multiple consolidation ranges and two pivot fields (section 2.2.5.3.2) on the page axis (section 2.2.5.3.7.1). The PivotTable report is based on the previous figure that illustrates eight ranges in cross-tab format and is summarizing the values from all the ranges because no manual filter (section 2.2.5.3.5) has been applied to any of the pivot fields on the page axis ("Page1" and "Page2" are both set to summarize all values).

Multiple consolidation ranges PivotTable

Figure 5: Multiple consolidation ranges PivotTable