|Oracle9i OLAP Developer's Guide to the OLAP API
Release 2 (9.2)
Part Number A95297-01
Introduction to the OLAP API, 3 of 6
OLAP API metadata describes the data that is available to the OLAP API through a given connection. The metadata records three things:
In contrast, the fact that 3542 dollars worth of boys outerwear was sold in Atlanta during January 1999 is data, not metadata.
These examples distinguish between the metadata and the data for a measure called Sales. The OLAP API makes a similar distinction between the metadata and the data for dimensions. For example, the fact that a product dimension exists and that it has text values as elements is metadata. In contrast, the fact that one of its elements is "boys outerwear" is data.
The OLAP API's multidimensional metadata (MDM) model describes data in multidimensional terms, which are familiar to OLAP and data warehousing audiences. For example, it includes objects for measures, dimensions, hierarchies, and attributes.
The following are some of the Java classes that are supplied by the OLAP API in its implementation of the MDM model:
MdmSchema is a container for
MdmDimension, and other
MdmSchema objects. An
MdmSchema corresponds to a measure folder in the OLAP management feature of Oracle Enterprise Manager. Note that an
MdmSchema does not necessarily correspond to a relational schema.
MdmMetadataProvider gives an application access to metadata objects that were created by a database administrator using the OLAP management feature of Oracle Enterprise Manager. To obtain access to the metadata, an application uses the
getRootSchema method in
MdmMetadataProvider. This method returns the top-level
MdmSchema, which contains all the
MdmDimension objects that are accessible through this particular
MdmMeasure objects might be organized in a hierarchical tree, with subschemas nested under the top-level schema. Using the
getSubSchemas methods on all the nested
MdmSchema objects, an application navigates through the metadata and discovers what data is available. In addition, the application can use methods to obtain the related
Chapter 2, "Understanding OLAP API Metadata" provides detailed information about the OLAP API metadata.
MdmDimension represents data in the data store. For example, an
salesAmount might represent a set of numeric elements whose values are dollar sales figures, and an
productDim might represent a set of text elements whose values are product names. However, an application cannot create a query on the data using an
MdmDimension. As metadata,
MdmDimension objects provide descriptive information about data, but they do not provide the ability to query on that data. And an application must create a query in order to select, calculate, and otherwise manipulate data for analysis.
In order to create a query on the data for an
MdmDimension, an application calls the
getSource method on the
MdmDimension. This method creates a
Source object that represents the data for the purpose of querying. A
Source is a specification for a query that defines a result set, and in this case, the result set is the data for the
In addition to representing the data for metadata objects,
Source objects can represent the data for any query that an application creates. For example, a
Source might specify a query for a selection of
MdmDimension values (January, February, March) or a calculation of the values of one
MdmMeasure minus those of another (
unitCost). An application can use the powerful methods on
Source and its subclasses to combine data in any way that the user requires. And each new query is a new
When an application prepares to display the data for a given
Source, it creates a
Cursor for the
Source. The application then uses this
Cursor to request and retrieve the data from the OLAP service. When an application makes a request for data, it can specify the typical amount of data that it requires at a given time (for example, enough to fill a 40-cell table on the screen). The OLAP service then handles the issues related to efficient retrieval. The application does not need to manage the timing, sizing, and caching of the data blocks that it retrieves through the OLAP API.
Because the primary focus of most OLAP applications is making queries against the data store, a significant proportion of their data manipulation code works with the following classes, each of which has methods for selecting, calculating, and otherwise manipulating data.
One of the useful characteristic of
Source objects is that they make no distinction between dimensions and measures. All
Source objects behave in the same way.
In addition to ensuring that data and metadata have been prepared appropriately, an application developer must ensure that application users can make a connection to the data store through the OLAP API and that users have database privileges that give them access to the data. For information about setting up for such connections, see the Oracle9i OLAP User's Guide.