Virtual Dimensions
Virtual Dimensions allow you to treat a string attribute of a base dimension (e.g., Products) as if it were a full dimension. For instance, consider a "Products" dimension with attributes like color, size, or vendor. You can designate any of these attributes as a Virtual Dimension. In a Jedox View, you might place Products on the rows and the "Color" Virtual Dimension (derived from the color attribute) on the columns. The Jedox In-Memory Database then treats the attribute as a functional dimension during query execution.
All base-level elements from the Products dimension that share the same attribute value are grouped under a common parent in the Virtual Dimension. For example, all products with the value "red" for the "color" attribute will appear as children under an element named "red" in the Color Virtual Dimension.
The key advantage of Virtual Dimensions is their flexibility, which allows you to pivot, consolidate, and even write back data based on attribute values, without the need to build or maintain additional hierarchies manually. Any changes to attribute values in the source dimension are automatically reflected, and all access rights and visibility settings from the original dimension or cube remain fully intact.
Here are several possible use scenarios:
-
Pivot by attribute: For instance, display products by their color directly in a View.
-
Consolidate by attribute: Automatically group all "red" products under a "red" node.
-
Write-back via attribute: Input values aggregated at an attribute level and have them flow back to base-level elements.
How to add a Virtual Dimension
To create a Virtual Dimension, follow these steps:
-
Navigate to the Modeler and choose the database for which you want to make a Virtual Dimension.
-
Choose a Cube (e.g., Sales), and select a Dimension (e.g., Products).
-
Click on Products dimension properties. In the Attributes panel, under the Virtual column, you can choose attributes to build Virtual Dimensions.
-
To disable a Virtual Dimension, uncheck the attribute in the Virtual column in the dimension properties.
Note that if a View or report explicitly references a Virtual Dimension and its elements, disabling that Virtual Dimension (by unchecking it) may cause formula errors. In such cases, you’ll need to update the affected formulas or Views to remove or adjust those references. However, if there is no direct reference to the Virtual Dimension, adding or removing it will not impact the report’s functionality.
Also, note that once a Virtual Dimension is enabled, it becomes available in every cube that includes the source dimension; there’s no need to activate it separately for each cube.
How to Identify a Virtual Dimension
Once you have created your Virtual Dimensions, you can use them in Views, Subset Editor, Paste elements, Integrator projects, and even Audit. There are three simple ways to distinguish a Virtual Dimension from a regular dimension:
-
Icon – Virtual Dimensions have a unique icon
that differs from standard dimensions
.
-
Name format – The name of a Virtual Dimension combines the base dimension and the attribute name. For example, if the attribute is Color in the Products dimension, it appears as "Products – Color".
-
Tooltip – When you hover over a Virtual Dimension, Jedox displays its technical name as a tooltip.
These visual cues make it easy to identify and work with Virtual Dimensions throughout the platform.
Using Virtual Dimensions
You can use a Virtual Dimension just like any standard dimension across various parts of Jedox. Whether you're building reports, creating subsets, pasting elements, designing integrator jobs, or auditing data, Virtual Dimensions provide a flexible way to work with attribute-driven hierarchies. The sections below explain how to apply Virtual Dimensions in each of these contexts.
In a View
To use the Virtual Dimensions in your reports, navigate to Designer and choose either a New View or Edit View for existing reports. The Virtual Dimensions can be seen under the Source panel. Simply drag and drop them into your View.
After pasting the View, the technical name of a Virtual Dimension is shown above in a spreadsheet.
By choosing a specific element within the Products dimension, you can keep filtering your report for more detailed information.
Virtual Dimensions are also supported in detached Views.
In Subset Editor
To use Virtual Dimensions in the Subset Editor, go to the General tab in the Subset Editor. Here, you can choose from the list of Virtual Dimensions you have previously defined in the Modeler.
Subsets based on Virtual Dimensions with DFilter activated are also supported. However, by default, usage of Virtual Dimensions in the new Data Filters is disabled, meaning Virtual Dimensions are not included in the DFilter selections. Use the "Enable virtual dimension" option to activate the Virtual Dimensions in the Subset Editor’s Data Filter.
Please note that stored Subsets (both private and global) are not supported on Virtual Dimensions.
In Paste Elements dialog
You can also use Virtual Dimensions in the Paste Elements dialog. When you open the dialog, you'll see a list of all Virtual Dimensions previously defined in the Modeler, which you can easily select and apply.
You can identify Virtual Dimensions by their names, which include the original dimension followed by the attribute name. Additionally, when you hover your mouse over a Virtual Dimension, a tooltip will display its technical name.
Note that while Hold and Undo functionality remain fully supported for standard cube slices, they are not available when working with "virtual" cube slices . Also, note that Stored Subsets and Attributes on Virtual Dimensions are not currently supported.
In Integrator
It is possible to use Virtual Dimensions in your Integrator projects too, and you can extract and filter data from cubes where Virtual Dimensions are used.
You can also create Virtual Dimensions in the Integrator. To do this, open your project, go to Loads > Dimensions, and choose a dimension. In the Virtual Dimension section, you can add, delete, activate, or deactivate Virtual Dimensions.
Note that you can only turn string attributes into Virtual Dimensions, and it is not possible to turn numeric attributes into Virtual Dimensions.
Cube/CubeSlice Extracts
When a virtual dimension is used in a filter or cube output in a Cube/CubeSlice Extract, the “Read rule-based values” option is automatically disabled to prevent producing wrong results.
Virtual Dimensions in Audit
You can track the information about Virtual Dimensions in the Details column of the Audit. The table below shows the different messages you can see in the Details column in different scenarios.
mode=1 {"vd"[["12","color","Desktop Pro"]]} |
Audit trail on areas that included Virtual Dimension elements |
mode= 1 {"vd":[]} | Audit trail on areas where Virtual Dimension was left on source |
mode=0 or mode=1 | Audit trail on areas where VD was not active |
For more information about Audit, read the Audit Information: Tracking Cell Value Changes article.
Data storage in Virtual Dimensions
Only numeric base elements are replicated in the virtual dimension, and the attribute-based hierarchy is built on top of these elements. String values are also transferred from the original cube to the virtual cube, but they are not assigned to individual attribute elements—instead, they are stored under the root element of the virtual dimension.
Example
Assume you have a dimension Car with elements car1, car2, and car3, and an attribute called Color.
For a numeric measure like Price, the values are extended with attribute element with the same name:
[Price, car1] => [Price, car1, car1]
[Price, car2] => [Price, car2, car2]
[Price, car3] => [Price, car3, car3]
These numeric values are then consolidated by the OLAP engine into the appropriate attribute elements within the virtual dimension hierarchy.
For string measures such as Comment, values are extended using the root element of the virtual dimension (e.g., "Color - Car", with root element Color). Unlike numeric data, string values are not distributed across the attribute-based hierarchy.
[Comment, car1] => [Comment, car1, Color]
[Comment, car2] => [Comment, car2, Color]
Change in a Dimension
Virtual Dimensions are automatically managed by the Jedox database. When an attribute value in the source dimension is modified, the corresponding structure in the Virtual Dimension is updated instantly. To reflect these changes in an existing View, simply re-paste the View. Alternatively, if the Virtual Dimension is already placed on a row or column axis, collapsing and expanding the “All <attribute>” node will refresh the hierarchy and display the updated aggregations.
Updated July 15, 2025