| Oracle9i OLAP Services Developer's Guide to the Oracle OLAP API Release 1 (9.0.1) Part Number A88756-01 |
|
Understanding OLAP API Metadata, 7 of 10
An MdmHierarchy is an MdmHierarchicalDimension that includes all the elements of one or more hierarchical structures. That is, all the parents and children are within the MdmHierarchy.
Even though the parent-child relationships exist in the MdmHierarchy, its elements are represented as a simple list. The relationships among the elements are recorded in the parent and ancestors attributes, which you can obtain by calling the getParentRelation and getAncestorsRelation methods on the MdmHierarchy. You can obtain the region for each element by calling the getRegionAttribute method on the MdmDimensionDefinition of the MdmHierarchy. Sometimes the parent, ancestors, and region attributes are referred to as parent, ancestors, and region relations.
Typically, an MdmHierarchy is one of the following two types:
MdmHierarchy, which represents a hierarchical structure whose regions are MdmLevel objects. For example, a level MdmHierarchy for calendar year might have as its regions MdmLevel objects for year, quarter, month and day.
A level MdmHierarchy has an MdmUnionDimensionDefinition, and its regions are MdmLevel objects. The return value from its getHierarchyType method is LEVEL_HIERARCHY. A level MdmHierarchy is based on a hierarchy that was defined by a database administrator in the OLAP management feature of Oracle Enterprise Manager.
MdmHierarchy, which represents a dimension that has one or more subordinate hierarchical structures. These structures are represented by one or more level MdmHierarchy objects. An example, of an MdmHierarchy with two structures is a union MdmHierarchy for time that has two regions, one for the calendar year and another for the fiscal year. Each region is a level MdmHierarchy.
A union MdmHierarchy has an MdmUnionDimensionDefinition and its regions are MdmHierarchy objects. The return value from its getHierarchyType method is UNION_HIERARCHY. A union MdmHierarchy is based on a dimension that was defined as having one or more hierarchies by a database administrator in the OLAP management feature of Oracle Enterprise Manager.
When working with level and union MdmHierarchy objects in the current release of the OLAP API, keep the following points in mind.
getAttributes method on a union MdmHierarchy, not on its subordinate level MdmHierarchy objects or their MdmLevel objects.
Source objects that are based on a level MdmHierarchy, not on a union MdmHierarchy.
getParentRelation and getAncestorsRelation methods on a level MdmHierarchy, not on a union MdmHierarchy.
getRegionAttribute method on the MdmUnionDimensionDefinition of a level MdmHierarchy, not of a union MdmHierarchy. This method returns the MdmAttribute that records the MdmLevel to which each MdmHierarchy element belongs.
The elements of a level MdmHierarchy include all of the elements of all of its regions. The values of the elements in a particular level MdmHierarchy must be unique. The following examples present the elements of two level MdmHierarchy objects, one for calendar year and the other for fiscal year.
The following table lists the elements for a level MdmHierarchy called mdmTimesDimCalHier, which includes the elements from four MdmLevel objects: mdmYear, mdmQuarter, mdmMonth, and mdmDay. The number of elements is 1529: 4 year elements, 16 quarter elements, 48 month elements, and 1461 day elements.
The following table lists the elements for a level MdmHierarchy called mdmTimesDimFisHier, which includes the elements from four MdmLevel objects: mdmFisYear, mdmFisQuarter, mdmFisMonth, and mdmFisDay. The number of elements is 1529: 4 fiscal year elements, 16 fiscal quarter elements, 48 fiscal month elements, and 1461 fiscal day elements.
In this example, the mdmFisDay MdmLevel is based on the same relational database column on which the mdmDay MdmLevel is based (see the earlier example for calendar year). Therefore, the values of the elements for these two MdmLevel objects are identical. However, this does not mean that the elements themselves are identical. The elements in mdmDay are distinct from the elements in mdmFisDay; only the values of the two sets of elements are the same.
A level MdmHierarchy represents a tree structure with parent-child relationships. Elements in the lowest MdmLevel are referred to as leaves, and the elements in the MdmLevel objects above the lowest level are referred to as nodes. Nodes have children; leaves do not.
The elements of a union MdmHierarchy include all of the elements of all of its regions. Another way to say this is that a union MdmHierarchy includes all of the elements of all of the MdmLevel objects in all of its subordinate MdmHierarchy objects. In hierarchical terms, the set of elements includes all of the leaves (the elements at the lowest level) and all of the nodes (the elements at the levels above the lowest one) for all the hierarchies.
The elements in the regions of a union MdmHierarchy are totally distinct. That is, a given element does not appear in more than one region of a union MdmHierarchy. This is the case even if the database administrator in the OLAP management feature of Oracle Enterprise Manager specified the same level in two different hierarchies of a dimension. When this happens, OLAP Services creates two different MdmLevel objects, one for each level MdmHierarchy.
Though the elements of a union MdmHierarchy are distinct, the values of the elements are not required to be unique. Therefore in the example below, the leaf elements of the two regions of the union MdmHierarchy have values that are identical.
Consider a union MdmHierarchy called mdmTimesDim, which has two regions. The first region is the MdmHierarchy called mdmTimesDimCalHier, which has 1529 elements. The second region is the MdmHierarchy called mdmTimesDimFisHier, which also has 1529 elements. The set of elements for mdmTimesDim is the union of the elements from its two MdmHierarchy objects. Because no element can appear in both MdmHierarchy objects, mdmTimesDim has 3058 elements. Note that a calendar year begins on January 1, while a fiscal year begins on July 1.
The following table lists the elements of the union MdmHierarchy called mdmTimesDim. To distinguish the elements of mdmDay and mdmFisDay, whose values are identical, the word "(fiscal)" appears next to the values for mdmFisDay. The mdmDay and mdmFisDay objects were introduced earlier in the examples for the elements of a level MdmHierarchy.
|
|
![]() Copyright © 1996-2001, Oracle Corporation. All Rights Reserved. |
|