Oracle® OLAP DML Reference 10g Release 1 (10.1) Part Number B10339-02 |
|
|
View PDF |
The AVERAGE function calculates the average of the values of an expression.
Return Value
DECIMAL
Syntax
AVERAGE(expression [[STATUS] dimensions])
Arguments
The expression whose values are to be averaged.
Can be specified when one or more of the dimensions of the result of the function are not dimensions of the expression. (See the description of the dimensions argument.) When you specify the STATUS keyword when this is not the case, Oracle OLAP produces an error.
In cases where one or more of the dimensions of the result of the function are not dimensions of the expression, the STATUS keyword might be required in order for Oracle OLAP to process the function successfully, or the STATUS keyword might provide a performance enhancement. See "The STATUS Keyword".
The dimensions of the result. By default, AVERAGE returns a single value. When you indicate one or more dimensions for the results, AVERAGE calculates an average for each value of the dimensions that are specified and returns an array of values. Each dimension must be either a dimension of expression or related to one of its dimensions. When it is a related dimension, you can specify the name of the relation instead of the dimension. This makes it possible for you to choose which relation is used when there is more than one.
Notes
AVERAGE is affected by the NASKIP option. When NASKIP is set to YES
(the default), AVERAGE ignores NA
values and returns the average of the values that are not NA
. When NASKIP is set to NO
, AVERAGE returns NA
when any value of the expression is NA
. When all the values of the expression are NA
, AVERAGE returns NA
for either setting of NASKIP.
When expression is dimensioned by a dimension of type DAY, WEEK, MONTH, QUARTER, or YEAR, you can specify any other dimension that has one of these types as a related dimension. Oracle OLAP uses the implicit relation between the two dimensions. To control the mapping of one of these types of dimensions to another (for example, from weeks to months), you can define an explicit relation between the two dimensions and specify the name of the relation as the dimension argument to the AVERAGE function.
For each time period in the related dimension, Oracle OLAP averages the data for all the source time periods that end in the target time period. This method is used regardless of which dimension has the more aggregate time periods. To control the way in which data is aggregated or allocated between the periods of two dimensions, you can use the TCONVERT function.
When one or more of the dimensions of the result of the function are not dimensions of the expression, Oracle OLAP creates a temporary variable to use while processing the function. When you specify the STATUS keyword, Oracle OLAP uses the current status instead of the default status of the related dimensions for calculating the size of this temporary variable.
When the size of the temporary variable for the results of the function would exceed 2 gigabytes, you must specify the STATUS keyword in order for Oracle OLAP to execute the function successfully. When the dimensions of the expression are limited to a few values and are physically fragmented, you can specify the STATUS keyword to improve the performance of the function.
When you use the AVERAGE function with the STATUS keyword for an expression that requires going outside of the status for results (for example, with the LEAD or LAG functions or with a qualified data reference), the results outside of the status will be returned as NA
.
Examples
Example 8-12 Calculating Average Monthly Sales
This example shows how to calculate the average monthly sales of sportswear for each sales district.
LIMIT product TO 'SPORTSWEAR' REPORT W 14 HEADING 'Average Sales' AVERAGE(sales district)
The preceding statements produce the following output.
DISTRICT Average Sales ----------- -------------- Boston 69,150.41 Atlanta 151,192.36 Chicago 95,692.99 Dallas 162,242.89 Denver 88,892.72 Seattle 54,092.32
You might also want to see the average monthly sales for each region. Since the region
dimension is related to the district
dimension, you can specify region
instead of district
as a dimension for the results of AVERAGE.