Dimension Library and Inheritance
The Dimension Library is the central repository for all dimension definitions in a OneStream application. Every dimension — Entity, Scenario, Account, Flow, and UD1 through UD8 — is created, organized, and maintained here before being assigned to cubes. This guide covers the Dimension Library structure, inheritance, stub dimensions, and the dimension creation workflow. For member naming rules, restricted characters, reserved words, and assigning dimensions to cubes, see Dimension Naming and Assignment. For the member-level property settings on each dimension type, see Account Member Properties, Flow Member Properties, or UD Member Properties.
The Dimension Library
The Dimension Library is located at Application > Cube > Dimensions. It is organized by dimension type, with each type having its own section:
Each dimension type contains:
- A root dimension (
RootEntityDim,RootAccountDim,RootFlowDim,RootScenarioDim,RootUD1DimthroughRootUD8Dim) with a single built-in member called None - User-created dimensions that inherit from the root or from another user-created dimension
The None member is used when no selection for the dimension is needed or applicable. It serves as the default placeholder in POV strings when the dimension is not relevant to the current analysis or data load.
Dimension Inheritance
When you create a new dimension, you select a parent dimension to inherit from. The inheritance source determines the starting content of the new dimension.
Inheriting from RootXXXDim:
- The new dimension starts with only the None member
- You build the member hierarchy from scratch
- This is the standard approach when creating a new, independent dimension
Inheriting from a user-created dimension:
- The new dimension starts with all of the parent dimension's members as shared members
- Changes to inherited members in the parent dimension are reflected in the child dimension
- You can add new members that are unique to the child dimension
The inheritance hierarchy also means that member names must be unique within a dimension type — not just within a single dimension. You cannot have an account named
GrossIncome in SummaryAccounts and a different account named GrossIncome in DetailAccounts, because both belong to the Account dimension type.Stub Dimensions (RootXXXDim)
For dimension types not used by a particular Scenario Type, you assign the root dimension (e.g.,
RootUD5Dim). This is a single-member dimension that acts as a stub — a placeholder that keeps the dimension slot active in the cube structure without adding overhead.RootXXXDim vs (UseDefault)
| Aspect | RootXXXDim (Explicit) | (UseDefault) |
|---|---|---|
| Behavior | The Scenario Type explicitly points to the root dimension. The dimension has one member (None). | The Scenario Type inherits whatever dimension is set at the (Default) level. |
| What happens when (Default) changes | No effect — the Scenario Type is locked to RootXXXDim. | The Scenario Type's dimension changes too — cascading and potentially unintentional. |
| Future flexibility | You can change from RootXXXDim to a specific dimension at any time (with a caveat — see below). | You can change (Default), but the change affects all Scenario Types still using (UseDefault). |
| Recommendation | Always use explicit assignment. | Avoid — use only during initial setup before dimensions are finalized. |
The One-Time Upgrade Limitation
Creating a New Dimension
To create a new dimension:
- Navigate to Application > Cube > Dimensions
- Expand the dimension type section (e.g., Account Dimensions)
- Right-click and select Add Dimension
- Enter a name following the member naming rules
- Select the parent dimension to inherit from (RootXXXDim for a fresh dimension, or an existing dimension for inheritance)
- Add members to the dimension — build out the hierarchy with parent and child members
- Configure member properties on each member (see Account Member Properties, Flow Member Properties, or UD Member Properties for property details by dimension type)
- Assign the dimension to the appropriate Scenario Types on the cube's Cube Dimensions tab (see Scenario Types and Cube Dimensions)
Related Content
- Dimension Naming and Assignment — Naming rules, assigning dimensions to cubes, dimension levels, and best practices
- Account Member Properties — Common properties, AccountType, FormulaType, aggregation, intercompany, constraints, and code examples
- Flow Member Properties — SwitchSign, SwitchType, FlowProcessingType, and flow hierarchy design
- UD Member Properties — UD defaults, attribute members, RelatedDimensionType, and constraints
- Configuring Cubes — Cube properties, types, algorithms, FX rates, data access, and integration
- Scenario Types and Cube Dimensions — Scenario Type setup, dimension assignment, and horizontal extensibility
- Entity Dimension Setup — Entity properties, relationships, intercompany, currencies, and adjustments
- Extensibility and Linked Cubes — Vertical extensibility, linked cube setup, and cube references
- The OneStream Data Model — Conceptual overview of cubes, dimensions, extensibility, and Data Units