Skip to content

Adding Dimensions

A Casabase Cube is composed of dimensions such as Account, Entity, Period, Product, Scenario, and Version.

Each dimension contains members organized into one or more hierarchies that define parent-child relationships, navigation paths, and aggregation behavior.

You can add dimensions to an existing cube using the Cube Config interface or the CREATE_DIMENSION stored procedure.

Before adding a dimension, you need a dimension definition table containing the members, parent-child relationships, and any additional member properties required by the dimension.

For more information about these tables, see Dimension Definition Tables.

The dimension definition table must be accessible to Casabase Cube and contain the columns you intend to map to the dimension.

At a minimum, the table must contain the member and parent-child information required to define its hierarchy structure.

Additional columns can provide properties such as:

  • Aliases
  • Aggregation operators
  • Shared-member indicators
  • Member formulas
  • Time Balance properties
  • Sort order
  • UDAs
  • Member comments
  • Data storage properties

The source column names do not need to use the same names as tables generated from an Essbase outline. You map the appropriate columns when creating the dimension.

To add a dimension:

  1. Open Casabase Cube in Snowsight.
  2. Select Cube Config from the navigation.
  3. Select the target cube.
  4. Select Add Dimension.
  5. Select the dimension definition table and configure the required column mappings.
  6. Configure the dimension settings.
  7. Create the dimension.

The dimension is added to the selected cube.

Casabase Cube maps columns from the dimension definition table to properties used to construct the dimension and its hierarchy structures.

Available mappings include:

Mapping Description
Input Table Table containing the dimension definition.
Parent Column Column containing the parent member name.
Child Column Column containing the member name.
Alias Column Column containing the primary member alias.
Operator Column Column containing the aggregation operator.
Shared Member Column Column identifying shared members.
Shared Value Value in the shared-member column that identifies a shared member.
Formula Column Column containing member formulas.
Time Balance Column Column containing Time Balance behavior.
Time Balance Skip Column Column containing Time Balance Skip behavior.
Sort Order Column Column containing member ordering information.
UDA Column Column containing User Defined Attributes.
Comment Column Column containing member comments.
Storage Column Column containing member storage properties.

Not every dimension requires every mapping.

For example, a simple dimension without formulas, shared members, Time Balance behavior, or UDAs may use only the mappings required to describe its members, hierarchy structure, and aggregation behavior.

In addition to column mappings, each dimension has settings that control its behavior within the cube.

Is Time Dimension identifies the dimension that represents time within the multidimensional model.

For example:

Dimension: PERIOD
Year
├── Qtr1
│ ├── Jan
│ ├── Feb
│ └── Mar
├── Qtr2
│ ├── Apr
│ ├── May
│ └── Jun
└── ...

The time dimension participates in time-aware calculation behavior such as Time Balance processing.

Default Member defines the member used for the dimension when a query does not explicitly specify a member from that dimension.

For example:

Dimension: SCENARIO
Default Member: Actual

A default member is optional.

Dimension Solve Order defines the solve-order precedence associated with the dimension.

This setting is separate from the solve order that can be assigned to individual calculated members.

Use dimension solve order when calculation precedence needs to be controlled across dimensions.

See Formula Capabilities for more information about solve-order behavior.

Use Security enables Casabase Cube security for the dimension.

When enabled, access to members in the dimension can be restricted using user-based security rules.

Enabling security on a dimension does not automatically restrict every user. Casabase Cube row-level security is opt-in per user: filtering applies when the cube has a security-enabled dimension and the executing user has at least one active security rule for the cube.

See Security Model before enabling security on a production dimension.

Auto Rebuild identifies whether the dimension participates in dimension rebuild operations.

This is useful when dimension definitions are maintained or refreshed and the resulting multidimensional structures need to be regenerated.

See Rebuilding Dimensions for details.

Active controls whether the dimension is active within the cube.

This allows a dimension configuration to remain defined while controlling whether it participates in the active cube model.

Dimension definition tables can map member-level Time Balance properties using:

TB_TYPE
TB_TYPE_SKIP_VALUE

or equivalent customer-defined source columns.

Supported Time Balance values are:

FLOW
FIRST
LAST
AVERAGE

Supported Time Balance Skip values include:

NONE
MISSING
ZEROS
MISSING_AND_ZEROS

The source columns containing these properties are selected through the Time Balance Column and Time Balance Skip Column mappings.

Time Balance properties define how applicable members aggregate across the cube’s time dimension.

See Hierarchy Capabilities for more information about Time Balance behavior.

Casabase Cube supports members that participate in multiple hierarchy branches within a dimension.

To configure shared members, specify:

  • The column that identifies shared-member occurrences.
  • The value in that column that represents a shared member.

For example:

Shared Member Column: MEMBER_IS_SHARED
Shared Value: true

The actual source column name and shared value depend on the dimension definition table.

A dimension definition table can contain formulas for calculated members.

Map the appropriate source column using Formula Column.

For example:

FORMULA

can contain formulas associated with calculated members in an Account or Measures dimension.

Formula behavior is controlled by the Casabase Cube calculation engine and the cube’s Apply member formulas setting.

See:

Dimensions can also be added programmatically using:

CUBE.CREATE_DIMENSION

The procedure accepts the following parameters:

CREATE_DIMENSION(
CUBE_NAME,
DIMENSION_NAME,
INPUT_TABLE_NAME,
PARENT_COL,
CHILD_COL,
ALIAS_COL,
OPERATOR_COL,
DATA_TABLE_COL_NAME,
USE_SECURITY,
IS_SHARED_COL,
SHARED_VALUE,
FORMULA_COL,
TB_TYPE_COL,
TB_TYPE_SKIP_COL,
SORTORDER_COL,
IS_TIME_DIMENSION,
UDA_COL,
SKIP_SNAPSHOT,
COMMENT_COL,
STORAGE_COL,
PROPERTY_COLS,
SKIP_HIERARCHY_VIEW
)

For example:

CALL CASABASE_CUBE.CUBE.CREATE_DIMENSION(
'FINANCE',
'ACCOUNT',
'CASABASE_CUBE.SHARED_DATA.FINANCE_ACCOUNT',
'PARENT',
'CHILD',
'ALIAS',
'OPERATOR',
'ACCOUNT',
FALSE,
'MEMBER_IS_SHARED',
'true',
'FORMULA',
'TB_TYPE',
'TB_TYPE_SKIP_VALUE',
'SORTORDER',
FALSE,
'UDA',
FALSE,
'MEMBER_COMMENT',
'DATA_STORAGE',
NULL,
FALSE
);

This creates the ACCOUNT dimension in the FINANCE cube using the specified dimension definition table and column mappings.

Each dimension must identify the corresponding dimension column in the cube’s bottom-level data.

The SQL interface specifies this using:

DATA_TABLE_COL_NAME

For example:

Dimension Cube Data Column
ACCOUNT ACCOUNT
ENTITY ENTITY
PERIOD PERIOD
YEARS YEARS
SCENARIO SCENARIO

This mapping associates dimension members with the corresponding dimension values stored in the cube.

It does not require users to specify the physical table containing the cube data when running queries. Casabase Cube manages the cube’s data within the Native Application database.

Repeat the process for each additional dimension required by the cube.

For example:

FINANCE
├── ACCOUNT
├── ENTITY
├── PERIOD
├── YEARS
├── SCENARIO
└── VERSION

Each dimension can have its own:

  • Definition table
  • Column mappings
  • Default member
  • Dimension solve order
  • Security configuration
  • Time-related configuration
  • Rebuild behavior
  • Active status

Together, these dimensions define the analytical structure of the cube.

Within each dimension, hierarchy structures organize the members and define their relationships and aggregation paths.

CREATE_DIMENSION validates and builds the new dimension as part of the creation operation. A separate rebuild is not required merely because the dimension was just created.

Use REBUILD_DIMENSIONS later when the dimension definition table or mapped metadata changes.

A typical new-dimension workflow is:

Create / Populate
Dimension Definition Table
VALIDATE_DIMENSION
(optional pre-check)
Add Dimension
/ CREATE_DIMENSION
Dimension Created
and Built
Query Cube

After later source-definition changes:

Modify Definition
VALIDATE_DIMENSION
REBUILD_DIMENSIONS
HEALTH_CHECK
Verification Query
  • Dimensions are the primary analytical components of a Casabase Cube.
  • A dimension contains members organized into one or more hierarchies.
  • A dimension is created from a dimension definition table.
  • Parent-child relationships in the definition table describe hierarchy structure within the dimension.
  • Source column names are mapped to Casabase Cube dimension and member properties.
  • Dimensions can include aliases, aggregation operators, shared members, formulas, Time Balance properties, UDAs, comments, and other supported metadata.
  • Dimension-level settings include Default Member, Dimension Solve Order, Security, Auto Rebuild, and Active status.
  • DATA_TABLE_COL_NAME associates the dimension with the corresponding dimension column in the cube data.
  • Dimensions can be created through the UI or programmatically using CREATE_DIMENSION.
  • After dimension configuration changes, rebuild the affected dimensions and validate their hierarchy structures.

Continue with: