Dimensions reference zero or more hierarchies. Hierarchies describe the relationship and structure of the referenced attributes that are grouped into levels, and provide a navigational and computational way to traverse the dimension.
Related attributes and the joins that are required to group these attributes are defined in the properties of the dimension.
Dimensions also have a type that describes if the dimension is time-oriented. For example, a dimension called Time that contains levels like Year, Quarter, and Month is a Time type. Another dimension called Market that contains levels like Region, State, and City is a Regular type. Type information can be used by applications to intelligently and appropriately perform time-related functions.
The relationship between a dimension and the facts object must be defined for each dimension in a cube model. The relationship is defined by a facts-to-dimension join. If a dimension is based on data in the fact table, the dimension is called a degenerate dimension and does not require that you specify a facts-to-dimension join.
The specific properties of dimensions are described in the following table.
| Property | Description |
|---|---|
| Set of attributes | Set of all attributes that are used in the dimension. |
| Set of joins | Set of all joins that are required to join all of the specified attributes. Only the joins that are required to join the dimension tables are specified here. |
| Set of hierarchies | Set of hierarchies that apply to the dimension. |
| Set of levels | Set of levels that are referenced by the dimension. |
| Type | Dimension type that can be Regular or Time. |