Skip to content

Dimension Snapshots

Dimension snapshots are point-in-time copies of a built dimension. Use them to preserve the current state before a metadata change, roll back a change, or inspect how individual members differed from a saved state.

Minimum role: CUBE_ADMIN

SNAPSHOT_DIMENSION(
CUBE_NAME_PARAM,
DIM_NAME_PARAM,
NOTES_PARAM
) -> VARCHAR

Creates a snapshot of a dimension’s current built state.

Parameter Type Req/Opt Description
CUBE_NAME_PARAM VARCHAR req Cube name.
DIM_NAME_PARAM VARCHAR req Dimension to snapshot.
NOTES_PARAM VARCHAR opt Note describing the reason for the snapshot.
CALL CUBE.SNAPSHOT_DIMENSION(
'FINANCE',
'ENTITY',
'Before Q3 restructure'
);

Minimum role: CUBE_ADMIN

LIST_DIMENSION_SNAPSHOTS(
CUBE_NAME_PARAM,
DIM_NAME_PARAM
) -> VARCHAR

Lists available dimension snapshots as JSON.

Parameter Type Req/Opt Description
CUBE_NAME_PARAM VARCHAR req Cube name.
DIM_NAME_PARAM VARCHAR opt Dimension name. Pass NULL to list snapshots for all dimensions.

Returns snapshot information as JSON in a VARCHAR.

CALL CUBE.LIST_DIMENSION_SNAPSHOTS('FINANCE', 'ENTITY');

Minimum role: CUBE_ADMIN

RESTORE_DIMENSION_SNAPSHOT(
CUBE_NAME_PARAM,
DIM_NAME_PARAM,
SNAPSHOT_NAME_PARAM,
AUTO_BACKUP
) -> VARCHAR

Restores a dimension to a previously saved snapshot.

Parameter Type Req/Opt Description
CUBE_NAME_PARAM VARCHAR req Cube name.
DIM_NAME_PARAM VARCHAR req Dimension name.
SNAPSHOT_NAME_PARAM VARCHAR req Snapshot to restore.
AUTO_BACKUP BOOLEAN opt When TRUE, snapshots the current state before restoring, making the restore itself reversible.
CALL CUBE.RESTORE_DIMENSION_SNAPSHOT(
'FINANCE',
'ENTITY',
'<snapshot>',
TRUE
);

Minimum role: CUBE_ADMIN

DROP_DIMENSION_SNAPSHOT(
CUBE_NAME_PARAM,
DIM_NAME_PARAM,
SNAPSHOT_NAME_PARAM
) -> VARCHAR

Deletes a single dimension snapshot.

Parameter Type Req/Opt Description
CUBE_NAME_PARAM VARCHAR req Cube name.
DIM_NAME_PARAM VARCHAR req Dimension name.
SNAPSHOT_NAME_PARAM VARCHAR req Snapshot to delete.
CALL CUBE.DROP_DIMENSION_SNAPSHOT(
'FINANCE',
'ENTITY',
'<snapshot>'
);

Minimum role: CUBE_ADMIN

PRUNE_DIMENSION_SNAPSHOTS(
CUBE_NAME_PARAM,
DIM_NAME_PARAM,
KEEP_COUNT
) -> VARCHAR

Deletes older dimension snapshots while retaining the most recent number specified by KEEP_COUNT.

Parameter Type Req/Opt Description
CUBE_NAME_PARAM VARCHAR req Cube name.
DIM_NAME_PARAM VARCHAR opt Dimension name. Pass NULL to prune snapshots across all dimensions.
KEEP_COUNT FLOAT opt Number of most recent snapshots to retain.

Keep the 10 most recent snapshots for ENTITY:

CALL CUBE.PRUNE_DIMENSION_SNAPSHOTS(
'FINANCE',
'ENTITY',
10
);

Minimum role: CUBE_ADMIN

SNAPSHOT_MEMBERS(
CUBE_NAME_PARAM,
DIM_NAME_PARAM,
SNAPSHOT_NAME_PARAM,
MEMBER_PARAM,
OPERATION_PARAM
) -> VARCHAR

Inspects or compares individual members within a snapshot. Use this procedure to investigate what changed about a member without restoring the snapshot.

Parameter Type Req/Opt Description
CUBE_NAME_PARAM VARCHAR req Cube name.
DIM_NAME_PARAM VARCHAR req Dimension name.
SNAPSHOT_NAME_PARAM VARCHAR req Snapshot name.
MEMBER_PARAM VARCHAR opt Member name or pattern.
OPERATION_PARAM VARCHAR opt Operation to perform.
CALL CUBE.SNAPSHOT_MEMBERS(
'FINANCE',
'ENTITY',
'<snapshot>',
'US_West',
NULL
);