Changing Cube Layout

Jedox features flexible cube layout, which means that the layout of a cube can be changed after the cube has been created, without having to rebuild the cube from scratch. Dimensions can be added, removed, and re-ordered. Existing data in the cube will be preserved accordingly, depending on the operation performed by the user.

To change the layout of a cube:

  1. In Modeler, click Open Cubes for the desired database.

  2. Select the cube you want to change to open the cube properties. Click on the Change layout... button below the table of dimensions.

  3. The Edit cube dialog shows all dimensions that are currently used in the cube on the right side, and the dimensions that are not used on the left. The layout can be manipulated by selecting a dimension and then using the arrow buttons to add, remove, or reorder dimensions.

Reordering dimensions is straightforward. You simply move dimensions up or down in the list on the right side. See the section Flexible Cube Layout (below) for details on the impact of reordering dimensions in reports.

Adding and removing dimensions

When adding or removing dimensions, OLAP has to manipulate existing data in the cube. If a dimension is to be added to a cube, you must first define a default write element for this dimension so that OLAP can write the existing cube data to this element. Similarly, if a dimension is to be removed from a cube, you must first define a default read element for this dimension so that the values that are read from this element can then be reserved.

"Create new cube" option

Reports can be designed with functions that return correct values even after changing cube layouts. If a report is not designed with such functions, you can define the changed cube layout in a new cube and leave a read-only version of the original cube in place.

First, make the desired changes to the cube layout in the Edit cube dialog and select the option Create new cube:

OLAP then creates a new cube with the chosen dimension layout and copies data from the existing cube accordingly.

  • Any rules that existed in the original cube migrate to the new cube.
  • All values are cleared from the original cube and a single new rule, valid for all cells, is created to read data from the new cube.
  • The existing cube is set as read-only; it will not be possible to enter values in it anymore. However, all existing reports reading data from the cube will continue to work. Using the automatically generated rule, they will return the data stored in the new cube.

Dynamic cell reference

In Jedox, rules can be written with dynamic cell reference (DCR), which shortens and simplifies the use of PALO.DATA and provides support for flexible cube layout.

DCR requires a cube name to be specified in single quotes before square brackets. It can be empty to reference the "self" cube. This name specification is important to distinguish between old intracube cell references, which have many limitations and special STET representation ( STET() can be written as []). Each item MUST specify the source dimension name for the source cube in single quotes, followed by a colon and either the source element in single quotes or general string expression that evaluates an element name.

Benefits of DCR are:

  • The dimension can be found automatically. It does not have to be specified.
  • The default read element is used if a dimension is added to the source cube.
  • The order of parameters is not important

For example, the rule below shows the syntax without DCR:

Copy
 ['Measures':'Turnover'] = PALO.DATA("Demo","Sales",!'Products',!'Regions',!'Months',!'Years',!'Versions',"Units")*20 

The same rule with DCR syntax is much more efficient:

Copy
 ['Measures':'Turnover'] = 'Demo':'Sales'['Measures':'Units']*20 

Dynamic cell reference is supported by the Rule Editor.

Updated February 7, 2025