Oracle® OLAP Developer's Guide to the OLAP API 10g Release 2 (10.2) Part Number B14347-01 |
|
|
View PDF |
This preface describes the features of the Oracle OLAP API that are new in Oracle OLAP 10g Release 2 (10.2) . This preface contains the following topics:
The Oracle OLAP API now supports the creation of custom dimension members, which are calculated virtual members that you can use in specifying a query. When you create a custom dimension member, you provide a Source
that Oracle OLAP uses to calculate the value for a dimensioned object that is specified by the custom member. When you specify a query that retrieves the value of a dimensioned object that is specified by the custom member, Oracle OLAP calculates the value for the custom member and assigns it as the value of the dimensioned object.
Custom dimension members are instances of the classes that implement the new MdmMember
interface. You can create a custom member for an MdmStandardDimension
, an MdmTimeDimension
, or an MdmMeasureDimension
. For more information on custom dimension members and for examples of creating them, see Chapter 2, "Understanding OLAP API Metadata".
Oracle OLAP uses an MdmModel
to hold information for a custom dimension member. An MdmModel
implements the Model
interface. When you create a custom dimension member, Oracle OLAP automatically creates an Assignment
object and adds it to the MdmModel
associated with the dimension. The Assignment
object specifies the dimension, the dimension member, and the Source
that Oracle OLAP uses to calculate the value to assign for the dimension member. For information about the Model
interface and the Assignment
class, see "Introducing the OLAP API Model".
A Source
that has inputs is a dimensioned Source
. With an OLAP API Model
, you can assign calculated values to a dimensioned Source
. Using Model
objects, you can specify elements of the inputs and specify the calculation that produces the value to assign to the dimensioned Source
.
The MdmModel
class and its subclasses implement the Model
interface for MdmObject
objects. Those classes are in the oracle.olapi.metadata.mdm
package.
The CustomModel
class implements the interface for an object that you can explicitly create and that is not necessarily associated with an MdmObject
. In creating a CustomModel
, you specify its input Source
objects.
A Model
is closely related to a Source
, so the Model
interface, the associated Assignment
and Qualification
classes, and the CustomModel
class are in the oracle.olapi.data.source
package. A Qualification
identifies an element of a Source
. For example, a Qualification
might specify a member of a dimension. An Assignment
has one or more Qualification
objects and a Source
that Oracle OLAP uses to calculate the value to assign. A Model
can have from zero to many Assignment
objects.
When Oracle OLAP retrieves the values for a dimensioned Source
, it evaluates the Assignment
objects of the Model
associated with the Source
. It assigns the results of the calculations specified by the Assignment
objects to the elements of the dimensioned Source
that are specified by the Qualification
objects of the Assignment
objects.
Because the calculations specified by the Assignment
objects of a Model
can apply to any Source
that has the same inputs as the Model
, the OLAP API requires a way to represent the Source
to which Oracle OLAP is currently applying the Model
. The role of representing the current dimensioned Source
is taken by a placeholder Source
, which is a new type of Source
.
The OLAP API has placeholder Source
objects for the different data types. You get a placeholder Source
by first getting a FundamentalMetadataObject
object for a placeholder of a specific data type from your FundamentalMetadataProvider
. You then call the getSource
method of the FundamentalMetadataObject
.
For examples of using placeholder Source
objects and a CustomModel
, see "New and Revised Example Programs". For more information on the Model
classes, see Chapter 6, "Understanding Source Objects".
The ExpressDataProvider
class now has constructors that take a java.util.Locale
object, a java.util.Properties
object, or both. By passing a Locale
object to the constructor, you can create an ExpressDataProvider
that can provide string values in the language specified for an analytic workspace that supports the language.
An ExpressDataProvider
has certain default characteristics or properties, which include the following.
It uses unique dimension hierarchy member values.
It recognizes both OLAP Catalog metadata and standard form analytic workspace metadata.
For an analytic workspace, it issues an ALTER SESSION SET NLS_LANGUAGE SQL command that sets the language of the database.
By passing a Properties
object to the constructor, you can create an ExpressDataProvider
that has different properties. You can specify that the ExpressDataProvider
use local dimension member values. For information on local and unique dimension member values, see "Unique and Local Dimension Values" in Chapter 1, "Introduction to the OLAP API".
You can also create an ExpressDataProvider
that has an associated MetadataProvider
that recognizes only OLAP Catalog metadata, which is generated by Oracle Enterprise Manager and by PL/SQL CWM2 package APIs, or only standard form analytic workspace metadata, which is generated by Analytic Workspace Manager and by the Oracle OLAP Analytic Workspace Java API, or only the custom metadata objects you create by using classes in the oracle.olapi.metadata.mdm
and oracle.olapi.metadata.mtm
packages.
If you want your application to control the language properties, then you can specify that the ExpressDataProvider
does not use the default language. For more information on setting the properties of an ExpressDataProvider
, see the description of that class in the Oracle OLAP Java API Reference.
This section describes the new classes in the OLAP API.
The following table lists the new classes in the oracle.olapi.data.source
package and provides brief descriptions of them.
Class | Description |
---|---|
Model |
An interface for an object that contains Assignment objects. This interface is implemented by the MdmModel and CustomModel classes. |
CustomModel |
A Model that an application can explicitly create. |
Assignment |
A class that contains one or more Qualification objects and a Source that Oracle OLAP uses to calculate a value to assign. |
Qualification |
An abstract class that represents an element of a Source for an Assignment of a Model . A Qualification identifies the element of an input Source to which the Assignment applies. |
LiteralQualification |
A concrete class that extends Qualification and that represents a literal value that identifies an element of an input Source , such as a member of a dimension. |
ModelSolutionDefinition |
A SourceDefinition that has information about solving a CustomModel . |
PlaceholderDefinition |
A SourceDefinition for a placeholder Source . |
For more information on these new classes, see Chapter 6, "Understanding Source Objects".
The following table lists the new classes in the oracle.olapi.metadata.mdm
package and provides brief descriptions of them.
Class | Description |
---|---|
MdmModel |
An abstract class that implements the Model interface for MdmObject objects. |
MdmDimensionCalculationModel |
An MdmModel of a specific data type for an MdmPrimaryDimension . |
MdmDimensionedObjectModel |
An abstract class that extends MdmModel for dimensioned objects. |
MdmAttributeModel |
An MdmDimensionedObjectModel for MdmAttribute objects. |
MdmMeasureModel |
An MdmDimensionedObjectModel for MdmMeasure objects. |
MdmMember |
An interface for a custom dimension member. |
MdmStandardMember |
An implementation of MdmMember for an MdmStandardDimension . |
MdmTimeMember |
An implementation of MdmMember for an MdmTimeDimension . |
The MdmMeasure
class now implements the MdmMember
interface for members of an MdmMeasureDimension
.
For more information on these new classes, see Chapter 2, "Understanding OLAP API Metadata".
The following classes in the oracle.olapi.data.source
package have new factory or accessor methods related to an OLAP API Model
or to custom dimension members.
ConstantListDefinition
DataProvider
FundamentalMetadataProvider
Source
SourceDefinition
The following classes in the oracle.olapi.metadata.mdm
package have new factory, accessor, or other methods related to an OLAP API Model
or to custom dimension members.
Mdm10_1_0_3_NamingConvention
Mdm10_1_0_3_ObjectVisitor
MdmCustomObjectFactory
MdmMeasure
MdmMeasureDimension
MdmPrimaryDimension
MdmSource
MdmStandardDimension
MdmTimeDimension
The oracle.express.olapi.data.full.ExpressDataProvider
class has new constructor methods that accept java.util.Locale
or java.util.Properties
objects or both. It also has new methods that accept a Properties
object and that create one or more CursorManager
This release of the Oracle OLAP API includes new example programs that demonstrate the use of Model
objects, custom dimension members, and placeholder Source
objects. Some previously existing example programs have significant revisions.
The example programs contain the complete code for the examples that appear in this document. They are available from the Overview of the Oracle OLAP Java API Reference.
The new example programs and the examples for which they contain the complete code are the following:
CreateCustomDimensionMember.java
, Example 2-1, "Creating a Custom Member of a Dimension".
CreateCustomMeasureDimensionMember.java
, Example 2-4, "Creating a Custom Member of the MdmMeasureDimension".
ImplementingExtractAsACustomModel.java
, Example 6-11, "Implementing the extract method as a CustomModel".
CreateDependentAssignment.java
, Example 6-12, "Creating an Assignment That Depends on Another Assignment".
CreateCustomMemberWithAggVal.java
, Example 6-13, "Creating a Custom Member That Assigns an Aggregated Value".
CreateColorAttribute.java
, which is a class that creates a custom color MdmAttribute
that is used by the CreateCustomMemberWithAggVal.java
class.
The example programs that have significant revisions are the following:
TransactionExamples.java
, Example 8-1, "Rolling Back a Transaction" and Example 8-2, "Using Child Transaction Objects".
TopBottomTest.java
, Example 11-4, "Getting the Source Produced by the Template".
SingleSelectionTemplate.java
, Appendix B, "SingleSelectionTemplate Class".
The complete code for the TopBottomTest.java
and SingleSelectionTemplate.java
classes are in this document as well as being in the Oracle OLAP Java API Reference.