Skip Headers

Oracle9i OLAP Developer's Guide to the OLAP DML
Release 2 (9.2)

Part Number A95298-01
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback

Go to previous page Go to beginning of chapter Go to next page

Aggregating Data, 6 of 12


Aggregating Non-Hierarchical Data

Some dimensions, such as line items, do not have a hierarchical structure. Instead, individual line items are calculated, sometimes with complex formulas, from one or more other line items or workspace objects. Models are needed to solve the data over this type of a dimension.

To execute a model, you include a MODEL command within the aggmap. It has the following basic syntax:

MODEL modelname [PRECOMPUTE ALL|NA]

Where:

modelname is the name of an existing MODEL object that calculates values for one or more dimensions of the aggregation map.

PRECOMPUTE ALL indicates that the AGGREGATE command will execute the model as a data maintenance step. Any RELATION or MODEL commands that precede it in the aggregation map must also be specified as PRECOMPUTE ALL. However, any RELATION or MODEL commands that follow it in the aggregation map can either be specified as PRECOMPUTE ALL or PRECOMPUTE NA.

PRECOMPUTE NA indicates that the AGGREGATE function will execute the model at runtime. The following conditions must be met for runtime execution:

Example 12-12 Solving a Model in an Aggregation

This example uses the budget variable:

DEFINE BUDGET VARIABLE DECIMAL <LINE TIME>
LD Budgeted $ Financial

The time dimension has two hierarchies (STANDARD and YTD) and a parent relation named time.parentrel as follows:

               -----TIME.PARENTREL------
               ----TIME.HIERARCHIES-----
TIME             STANDARD       YTD
-------------- ------------ ------------
LAST.YTD       NA           NA
CURRENT.YTD    NA           NA
JAN01          Q1.01        LAST.YTD
FEB01          Q1.01        LAST.YTD
MAR01          Q1.01        LAST.YTD
APR01          Q2.01        LAST.YTD
MAY01          Q2.01        LAST.YTD
JUN01          Q2.01        LAST.YTD
JUL01          Q3.01        LAST.YTD
AUG01          Q3.01        LAST.YTD
SEP01          Q3.01        LAST.YTD
OCT01          Q4.01        LAST.YTD
NOV01          Q4.01        LAST.YTD
DEC01          Q4.01        LAST.YTD
JAN02          Q1.02        CURRENT.YTD
FEB02          Q1.02        CURRENT.YTD
MAR02          Q1.02        CURRENT.YTD
APR02          Q2.02        CURRENT.YTD
MAY02          Q2.02        CURRENT.YTD
Q1.01          2001         NA
Q2.01          2001         NA
Q3.01          2001         NA
Q4.01          2001         NA
Q1.02          2002         NA
Q2.02          2002         NA
2001           NA           NA
2002           NA           NA

The relationships among line items are defined in the following model.

DEFINE INCOME.BUDGET MODEL
MODEL
dimension line time
opr.income = gross.margin - marketing
gross.margin = revenue - cogs
revenue = lag(revenue, 12, time) * 1.02
cogs = lag(cogs, 1, time) * 1.01
marketing = lag(opr.income, 1, time) * 0.20
END

The following aggregation map pre-aggregates all of the data. Note that all of the data must be pre-aggregated because the model includes both LAG functions and a simultaneous equation.

DEFINE BUDGET.AGGMAP1 AGGMAP
AGGMAP
MODEL income.budget
RELATION time.parentrel
END

Go to previous page Go to beginning of chapter Go to next page
Oracle
Copyright © 2001, 2002 Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback