Technical data

Creating Data Cubes Chapter 5
Characteristic Benefit
The analytic calculation engine does not recalculate the virtual
data cube unless the virtual data cube has nonvirtual depend ents.
Reduces recalculation tim e.
The analytic calculation engine neither allocates mem ory
nor calculates virtual data cubes until it receives a request for
recalculation of the virtual data cube.
Reduces memory consumption and recalculation
time.
Se
eC
hapter 5, “Creating Data Cubes,” Defining General Data Cube Properties, page 40.
When an end user loads an analytic instance, the underlying analytic model’s virtual data cubes do not contain
data. However, as soon as the analytic calculation engine receives a request for a virtual cube’s data, the
analytic calculation engine calculates the entire cube and places the totals and all n onzero values in a temporary
storage area. After this point—if the application requires the data—the analytic calculation engine retrieves the
data from the temporary storage area.
Virtual cube data is recalculated for these circumstances:
•Th
e virtual data cube’s data is displayed in an analytic grid.
•Th
e virtual data cube is used during a step of a recalculation.
•Th
e virtual data cube is accessed by a user function, even if the cube’s data does not appear in the application.
•An
application uses a PeopleCode p rogram to request data from the virtual data cube.
Note. Whenever a circumstance requires a recalculation of all the d ata in an analytic model (for example,
when the application adds a member to a dimension), the temporary storage for all virtual data cubes is
discarded. This storage is created again as needed.
Virtual data cubes have the following two restrictions. Otherwise, you can use virtual data cubes in the way
you use nonvirtual data cubes.
•Be
cause a virtual data cube does not permanently store data, it must contain a formula to generate its da ta.
Note. Deleting the formula for a virtual data cube results in an invalid analytic model.
A virtual data cube cannot participate in recursive or circular systems because a virtual data cube’s formula
cannot refer to itself, either directly or indirectly.
This restriction applies because the first time a virtual cube’s data is requested, the analytic calculation
engine calculates and stores the data for the entire virtual data cube. In recursive or circular systems, the
analytic calculation engine cannot calculate all of the data at the same time for any given data cube.
Note. If a virtual cube is part of a recursive or circular system, the analytic calculation engine generates an
error value for all of the cube’s values. Use the Recalculate function in the Analytic Calculation Engine
classes to determine whether you violated this restriction. The Recalculate function returns a VIRTUAL
error for the data cube cells that are affected.
36 Copyright © 1988-2007, Oracl e. All rights reserved.