Editing dimensions
Opening the dimension panel
To create new or edit existing dimensions, must open the dimension panel in the editor by clicking on the "dimension" tab in the configuration editor.
There are three different regions in the editor:
- The dimension tree allows to create new dimensions or to delete existing dimensions and to configure their Key-Loaders.
- The attribute table at the right side allows to edit the attribute configuration for each loader.
- The preview at the button can be used at any time to test and preview you current dimension configurations.
Editing dimensions
Creating a new dimension
Before you can edit a dimension, you must create it. Use the "Add dimension" button from the toolbar right to the dimension tree to create a new dimension.
A simple dialog will open and ask you for the name of the new dimension. If the name does not exist yet and is valid, the new dimension will appear at the end of the tree after closing the dialog.
The new dimension will only contain one constant key, the root-key for this dimension. It is mandatory and cannot be deleted, but you may change its IDs and all other of its property at any time.
Adding Key-Loaders to dimensions
After you created an empty dimension, you can add the Key-Loaders to it. A Key-Loader generates keys from different datasources (depending on the loader type) to the dimension whenever the dimension is build or synchronized.
There are different types of Key-Loaders. All of this loader types are described in the "Concepts" chapter of this manual:
- Constant keys are "loaders" which add a single key, with a constant ID and constant attributes, to the dimension,
- SQL-KeyLoaders load keys from SQL databases by generating IDs defined by an SQL expression,
- Time-KeyLoaders generate keys using a date pattern,
- Expression-KeyLoaders generate keys defined by a instantOLAP expression and can use other dimensions as input,
- Number-KeyLoaders simply generate keys with numbers as IDs within a defined range
To add a new Key-Loader to a dimension, you can use the context menu of the dimension itself, the root key or any other loader or key of the dimension. The new Loader is nested automatically under the element whose context menu you used.
Depending on the type of the element, its menu offers all types of Key-Loaders or only the same type the element is of. This is, because SQL-KeyLoaders can only have other SQL-KeyLoader as children, Time-KeyLoaders only other Time-KeyLoaders and so on. Only dimensions and constant keys can embed any kind of loader.
E.g., the context menu of the root-keys contains items to create all of five loader types. This is usually the place where you add the first loader for a dimension.
An easier way to create SQL-KeyLoaders or Time-KeyLoaders is to drag columns or time-patterns out of the datasource-explorer at the left border of the Workbench. This will automatically create a new loader with the column or pattern as ID-expression.
For example, moving the column "PRODUCT.PRODUCT_NO" out of the explorer on the existing loader "PRODUCT.CATEGORY" would create a new Sql-KeyLoader with the column as expression and place it as new child under the category loader.
If you drag columns or patterns into the tree, the mouse cursor will indicate if the target position is valid or not.
Adding facts
Constant keys can only be created with the context menu of a dimension or other constant keys.
But in the case of creating a new fact (which is also only a constant key in the fact-dimension) you can use the "Add fact" button from the toolbar. This will append a new fact under the root-key of the fact-dimension.
Copying Key-Loaders
The only way to copy an existing Key-Loader to another parent or to another dimension is to use drag&drop while holding the CTRL key pressed.
Moving Key-Loaders
The order of the Key-Loaders within the dimension also determine the order of the keys, because every loaded key is always appended as the last child under its parent.
So if you need to change the order of the keys and therefore of the Key-Loaders, select the loader and use the "Move up" or "Move down" buttons to arrange the loaders within their parents.
You can also move dimensions from one parent or even to another dimension using the mouse and drag&drop.
Changing the dimension order
The position of a dimension within the dimension tree can be important whenever you want to link dimensions with each other: Every attribute in a dimension can be a link to a key of another dimension, but this other dimension must be loaded before the attribute, otherwise it will not be visible as type in the attribute panel.
Use this buttons move the selected dimensions up or down in the tree. After you moved a dimension upwards, it will appear as attribute-type in all following dimension-attributes.
Deleting dimensions or Key-Loaders
Use this button to delete selected dimension or Key-Loaders from the dimension tree. The Workbench will not delete the elements unless you confirmed the dialog which appears after using the button.
Adding attributes to loaders
Each Key-Loader (except Number-KeyLoaders) can contain an arbitrary number of attribute-loaders. This attribute loaders will add attributes to the keys while they are loaded from the datasource, calendar etc.
To edit the attribute loaders of a Key-Loader, select the loader in the dimension-tree. The table right to the tree then show all currently existing attributes of the loader (or is empty, if no attribute is defined yet).
You can add new attributes with the toolbar of the table. Use the "Add attribute" button to add a new row to the table.
This will create a new and empty row within the table. Now you can edit the properties of the new attribute by clicking into the cells and changing their content. Some properties offer dropdown boxes or edit buttons (e.g. for SQL expression), which open a more comfortable editor.
Instead of editing an attribute within the table, you can also select it by clicking on the icon in the first row and display all of its properties in the property table. This will show all of the properties, in difference to the table which only displays the most important ones.
Like when creating Key-Loaders, you can also use drag&drop and drag columns or time-patterns out of the configuration explorer into the attribute table. Simply drag the column or pattern from the explorer into the free space of the table. You must select the loader before to display the correct target table.
In this example, dragging the "MMM" pattern from the calendar adds a new attribute to the Time-KeyLoader, with the dragged pattern as generating pattern.
Removing attributes
To remove one or more attributes from a loader, select them by clicking on their icon in the first column and use the "Delete selected attributes" button.
The attributes will be deleted without any prior confirmation dialog.
The preview
The preview panel is a tree at the bottom of the editor and can be used to test and investigate the dimension as they will be loaded with the current configuration of your dimensions.
Use the "Preview" button from the toolbar to load all new or changed dimensions and to display the result in the tree. If no error occurs, the root keys of all dimension will become visible, otherwise an error message will be displayed and the tree stays empty.
To navigate inside a dimension, open it by double clicking on its root-keys. The key node will open, and you can see all keys of the first level. Each key can also be opened by double clicking it or by using the plus sign of its node.
For each key, the tree displays its ID and its default text (if existing) in brackets behind the ID. If a key contains attributes, this attributes will be displayed with their name and values before the children of a key. You can recognize attributes on the color of their node: Keys have blue icons and attributes have green icons.
Use the collapse button to fold all keys of the tree and to bring the tree into its original state.





