MdmDimension Class

MdmDimension is a subclass of MdmSource.

Description of an MdmDimension

An MdmDimension represents a list of elements that can organize a set of data. For example, if you have a set of sales figures for a given year and you organize them by month, the list of months is a dimension of the sales data. The values of the month dimension act as indexes for identifying each particular value in the set of sales data.

In the OLAP API, the abstract MdmDimension class represents the general concept of a list of elements that can organize data. MdmDimension has an abstract subclass called MdmHierarchicalDimension, which represents a list that has hierarchical characteristics.

The following concrete subclasses of MdmDimension represent the specific kinds of MdmDimension objects that can be used in analysis.:

MdmLevel, which represents a list of elements that supply one level of a hierarchical structure. Each element can have a parent and one or more children. The parents and children of a given MdmLevel element are not within the given MdmLevel. They are elements of different MdmLevel objects.

MdmHierarchy, which represents a list of elements arranged in a hierarchical structure that has levels based on parent-child relationships. Each element can have a parent and one or more children, and all of these elements are within the MdmHierarchy.

Though the parent and child elements are within the MdmHierarchy, they correspond to elements in MdmLevel objects. Therefore, loosely speaking, an MdmHierarchy is composed of MdmLevel objects. Some MdmHierarchy objects are simply composed of MdmLevel objects. Others are unions of one or more subordinate MdmHierarchy objects, which in turn, are composed of MdmLevel objects.

MdmListDimension, which represents a simple list of elements that play no part in any hierarchical structure. The elements have no parents and no children.

Both MdmLevel and MdmHierarchy are concrete subclasses of the abstract MdmHierarchicalDimension class.

An MdmDimension can have one or more MdmAttribute objects. Each of these objects maps the elements of the MdmDimension to values representing some characteristic of the elements. To obtain the MdmAttribute objects for a given MdmDimension, call its getAttributes method.

An MdmDimension has an MdmDimensionDefinition, which represents the structure of the underlying data, and an MdmDimensionMemberType, which represents the basic nature of the elements. These two objects hold important information about the MdmDimension to which they belong. For a given MdmDimension, you use its getDefinition and getMemberType methods to obtain these related objects.

Information Held by an MdmDimensionDefinition

An MdmDimensionDefinition indicates the structure of the underlying data on which the MdmDimension is based. The MdmDimensionDefinition class is abstract. Therefore, instances are always one of the following subclasses:

MdmBaseDimensionDefinition, which indicates that the MdmDimension has underlying data structured as a single list. For example, an MdmLevel is often based on a single column in a relational table.

MdmUnionDimensionDefinition, which indicates that the MdmDimension has underlying data structured as the union of two or more lists. For example, an MdmHierarchy can be based on two or more columns in a relational table, one column for each MdmLevel.

MdmAliasDimensionDefinition, which indicates that the MdmDimension acts as a proxy (that is, an alias) for another MdmDimension.

An MdmDimension that has an MdmUnionDimensionDefinition has regions. A region of a given MdmDimension is another MdmDimension that represents a subset of the elements of the given MdmDimension. For example, an MdmDimension for calendar year might have one region that represents quarters and another region that represents months. To obtain the regions of an MdmDimension, you call the getRegions method on its MdmUnionDimensionDefinition.

Information Held by an MdmDimensionMemberType

An MdmDimensionMemberType indicates the basic nature of the elements in the MdmDimension. It holds a description for each element, and it often provides methods for finding out other information about individual elements. The MdmDimensionMemberType class is abstract. Therefore, instances are always one of the following subclasses:

MdmTimeMemberType, which indicates that the MdmDimension elements represent time periods. An MdmTimeMemberType has methods for finding out the end date and time span for each element.

MdmMeasureMemberType, which indicates that the MdmDimension elements are all the MdmMeasure objects in the data store. There is only one MdmDimension with an MdmMeasureMemberType, and it is referred to as the measure MdmDimension. You can obtain the measure MdmDimension by calling the getMeasureDimension method on the root MdmSchema.

MdmStandardMemberType, which indicates that the MdmDimension elements have no specific characteristics. Most MdmDimension objects have an MdmStandardMemberType.