Dimension Validation
Casabase Cube validates a dimension definition when the dimension is created or rebuilt.
Validation checks the dimension definition table for problems that could prevent Casabase Cube from constructing a valid dimension, including invalid hierarchy relationships, duplicate members, circular references, invalid aggregation operators, and shared-member issues.
In the Casabase Cube interface, validation runs automatically as part of Create Dimension and Rebuild Dimensions operations.
If validation errors are found, the affected dimension is not created or rebuilt and the specific errors are returned so the dimension definition can be corrected.
Automatic Validation
Section titled “Automatic Validation”Dimension validation is performed automatically when Casabase Cube creates or rebuilds a dimension.
Conceptually:
Dimension Definition Table │ ▼ Create / Rebuild Dimension │ ▼ Validate Dimension │ ┌───┴───┐ │ │ Valid Invalid │ │ ▼ ▼ Build Return Dimension ErrorsThis prevents an invalid dimension definition from being incorporated into the cube.
Validate a Dimension Independently
Section titled “Validate a Dimension Independently”You can also validate a dimension definition table independently before creating or rebuilding the dimension.
This can be useful when:
- Preparing a new dimension definition table
- Adding or removing members
- Changing parent-child relationships
- Changing aggregation operators
- Adding or modifying shared members
- Troubleshooting a failed dimension rebuild
- Validating source data before applying changes to a cube
Use the VALIDATE_DIMENSION procedure to perform this validation without first committing to a dimension create or rebuild operation.
Using VALIDATE_DIMENSION
Section titled “Using VALIDATE_DIMENSION”VALIDATE_DIMENSION validates the members and hierarchy structure represented by a dimension definition table.
The procedure requires the CUBE_ADMIN application role.
For example:
CALL CASABASE_CUBE.CUBE.VALIDATE_DIMENSION( 'DATABASE.SCHEMA.DIM_TABLE', -- INPUT_TABLE 'Parent_Col', -- PARENT_COL 'Child_Col', -- CHILD_COL 'Operator_Col', -- OPERATOR_COL 'Is_Shared_Col', -- IS_SHARED_COL (optional) 'true', -- SHARED_VALUE 'Alias_Col' -- ALIAS_COL (optional));The source column names do not need to match the standard column names used by dimension definition tables generated from an Essbase outline.
Instead, the procedure maps the appropriate source columns to the dimension properties being validated.
Parameters
Section titled “Parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
INPUT_TABLE |
VARCHAR | Fully qualified dimension definition table name (DATABASE.SCHEMA.TABLE). |
|
PARENT_COL |
VARCHAR | Column containing the parent member name. | |
CHILD_COL |
VARCHAR | Column containing the member name. | |
OPERATOR_COL |
VARCHAR | Column containing the aggregation operator (+, -, or ~). |
|
IS_SHARED_COL |
VARCHAR | NULL |
Column indicating whether a member occurrence is shared. Omit if the dimension does not use shared members. |
SHARED_VALUE |
VARCHAR | 'true' |
Value in IS_SHARED_COL identifying a shared-member occurrence. |
ALIAS_COL |
VARCHAR | NULL |
Column containing member aliases. Omit if not applicable. |
Validation Results
Section titled “Validation Results”VALIDATE_DIMENSION returns a JSON array containing any validation errors detected.
An empty array:
[]indicates that no validation errors were found.
If problems are detected, each error object contains information about the validation failure.
| Field | Description |
|---|---|
ERROR |
Type of validation error detected. |
MEMBER |
Member associated with the error. |
VALUE |
Additional context associated with the error, such as a parent name or duplicate count. |
The returned information can be used to locate and correct the affected records in the dimension definition table.
Validation Checks
Section titled “Validation Checks”Casabase Cube checks for the following problems.
Multiple Hierarchy Tops
Section titled “Multiple Hierarchy Tops”A hierarchy must have a valid top-level structure.
Validation identifies cases where more than one root member is detected.
For example:
Total Entity│├── North America└── Europehas a single hierarchy top:
Total EntityA dimension definition that instead produces multiple unrelated roots fails this validation.
Duplicate Base Members
Section titled “Duplicate Base Members”A base member cannot appear more than once as a non-shared member.
For example, this would be invalid:
PARENT CHILD-------------- -------------North America United StatesAmericas United Statesif both occurrences of United States are defined as base members.
When a member needs to participate in multiple hierarchy locations, the additional occurrence must be configured as a shared member.
Invalid Aggregation Operator
Section titled “Invalid Aggregation Operator”Aggregation operators must contain a value supported for the dimension type.
For standard dimensions, the supported values are:
+-~Attribute dimensions support +.
During Oracle Essbase or Cloud EPM migration, unsupported source operators can be normalized before the resulting Casabase Cube definition is used. See Compatibility Notes.
Empty or NULL Child Member
Section titled “Empty or NULL Child Member”Every member entry must contain a valid member name.
Rows containing an empty or NULL child member fail validation.
Self-Referencing Member
Section titled “Self-Referencing Member”A member cannot be its own parent.
For example:
PARENT CHILD--------- ---------Products Productsfails validation.
Orphan Member
Section titled “Orphan Member”A member’s parent must exist in the dimension definition.
For example:
PARENT CHILD----------- ----------West Region Californiarequires West Region to exist as a member in the dimension definition.
If the referenced parent cannot be found, the member is considered an orphan.
Member Name Length
Section titled “Member Name Length”Member names cannot exceed 2,000 characters.
A member exceeding this limit fails validation.
Leading or Trailing Spaces
Section titled “Leading or Trailing Spaces”Member names cannot contain leading or trailing spaces.
For example:
"Products "" North America"fail validation because the whitespace changes the member name and can produce unintended hierarchy relationships.
Circular References
Section titled “Circular References”A dimension hierarchy cannot contain a circular parent-child relationship.
For example:
A → BB → CC → Acreates a cycle and therefore cannot form a valid hierarchy.
Circular references fail validation.
Shared Member Without a Base Member
Section titled “Shared Member Without a Base Member”A shared member must have a corresponding base-member occurrence.
For example, if:
Product Aappears as a shared member in one hierarchy location, a primary non-shared occurrence of Product A must also exist in the dimension definition.
A shared occurrence without a corresponding base member fails validation.
Shared Member Under a Shared Member
Section titled “Shared Member Under a Shared Member”A shared member cannot be placed beneath another shared member.
For example:
Shared Parent└── Shared Childis not a valid shared-member structure.
Nested shared members fail validation.
Validation and Shared Members
Section titled “Validation and Shared Members”Shared-member validation uses:
IS_SHARED_COLSHARED_VALUEto determine which member occurrences are shared.
For example:
IS_SHARED_COL = 'MEMBER_IS_SHARED'SHARED_VALUE = 'true'could correspond to source data such as:
PARENT CHILD MEMBER_IS_SHARED----------- ---------- ----------------Products Product A falseCategory 1 Product A trueIn this example, Product A has a base occurrence and an additional shared occurrence.
Validation uses this information when checking duplicate members and shared-member relationships.
Validation and Aggregation Operators
Section titled “Validation and Aggregation Operators”The OPERATOR_COL mapping identifies the column containing each member’s aggregation operator.
For example:
PARENT CHILD OPERATOR----------- ------------- --------Profit Revenue +Profit Expenses -Statistics Headcount ~Validation verifies that each operator contains a supported value.
See Hierarchy Capabilities for additional information about aggregation behavior.
Dimension Validation Workflow
Section titled “Dimension Validation Workflow”A typical workflow when modifying a dimension is:
Modify DimensionDefinition Table │ ▼VALIDATE_DIMENSION │ ┌───┴────┐ │ │ Valid Errors │ │ │ ▼ │ Correct │ Source │ │ │ └──────┐ │ │ ▼ │REBUILD_DIMENSIONS ◄┘ │ ▼ Updated Dimension │ ▼ Health Check │ ▼ Query CubeRunning VALIDATE_DIMENSION independently is optional because validation also occurs during dimension creation and rebuild.
Pre-validation can be useful when you want to identify structural problems before starting the full dimension operation.
Dimension Validation vs. Health Check
Section titled “Dimension Validation vs. Health Check”Dimension validation and cube health checks serve different purposes.
| Dimension Validation | Health Check | |
|---|---|---|
| Scope | Definition and hierarchy structure of a dimension | Overall cube state |
| Input | Dimension definition table and column mappings | Existing Casabase Cube |
| Purpose | Detect invalid dimension definitions | Evaluate broader cube health |
| When used | Before or during dimension creation or rebuild | After cube configuration or maintenance |
| Procedure | VALIDATE_DIMENSION |
See Health Check documentation |
Use dimension validation to verify the definition being used to construct a dimension.
Use a health check to evaluate the resulting cube configuration more broadly.
Correcting Validation Errors
Section titled “Correcting Validation Errors”When validation errors are returned:
- Review the
ERROR,MEMBER, andVALUEfields. - Locate the corresponding record in the dimension definition table.
- Correct the source data.
- Run
VALIDATE_DIMENSIONagain. - When validation succeeds, create or rebuild the dimension.
For example:
Validation │ ▼Circular ReferenceMember: Entity_A │ ▼Correct Parent-ChildRelationship │ ▼Validate Again │ ▼[]An empty result indicates that no validation errors were found.
Validation During Dimension Creation
Section titled “Validation During Dimension Creation”When a new dimension is created using CREATE_DIMENSION, Casabase Cube validates the dimension definition before completing the operation.
Conceptually:
Dimension Definition Table │ ▼ CREATE_DIMENSION │ ▼ Validate Dimension │ ┌───┴────┐ │ │ Valid Invalid │ │ ▼ ▼ Create Return Dimension ErrorsThis ensures that invalid hierarchy structures are not introduced when a dimension is initially created.
See Adding Dimensions for the dimension creation process.
Validation During Dimension Rebuilds
Section titled “Validation During Dimension Rebuilds”Dimension validation also occurs when dimensions are rebuilt.
When REBUILD_DIMENSIONS processes a dimension, the current dimension definition is validated before the updated structures are made available to the cube.
Conceptually:
Updated DimensionDefinition Table │ ▼REBUILD_DIMENSIONS │ ▼ Validate Dimension │ ┌───┴────┐ │ │ Valid Invalid │ │ ▼ ▼ Rebuild ReturnDimension ErrorsThis prevents an invalid source definition from replacing the existing dimension structures.
See Rebuilding Dimensions for details.
Key Takeaways
Section titled “Key Takeaways”- Dimension validation verifies that a dimension definition can be used to construct a valid Casabase Cube dimension.
- Validation includes checks of the hierarchy structure within the dimension.
- Validation runs automatically when dimensions are created or rebuilt.
VALIDATE_DIMENSIONcan be used independently to pre-check a dimension definition table.- An empty JSON array (
[]) indicates that no validation errors were found. - Validation checks parent-child relationships, duplicate members, aggregation operators, member names, circular references, and shared-member structures.
- Shared members must have a corresponding base member and cannot be nested beneath other shared members.
- Invalid dimension definitions prevent the affected dimension from being created or rebuilt.
- Dimension validation and cube health checks serve different purposes.
Next Steps
Section titled “Next Steps”Continue with:
- Dimension Definition Tables for the source structure used to define dimensions.
- Adding Dimensions for adding dimensions to a cube.
- Rebuilding Dimensions for applying dimension definition changes.
- Health and Diagnostics for evaluating the overall state of a cube.
- Hierarchy Capabilities for an overview of hierarchy behavior within dimensions.
