---
title: "Creating and Editing Dimensions"
description: "Dimensions are xP&A’s most powerful concept. Dimensions allow you to build your business’ structure directly into your financial models, removing the need for formula duplication and lookups."
source_url: https://support.lucanet.cloud/en/documentation/xp-a---extended-planning-and-analysis/modeling-your-data/using-dimensions/create-edit-dimensions
language: en
last_updated: 2023-08-16
---
# Creating and Editing Dimensions

## Overview

**Dimensions** are xP&A’s most powerful concept. Dimensions allow you to build your business’ structure directly into your financial models, removing the need for formula duplication and lookups.

With dimensions, you can:

- Reduce the number of formulas in your models by 100x or more
- Make it much easier to maintain and develop your models over time
- Significantly reduce the chance of human error when working with formulas
- Make it much easier to connect to historical data
- Make it much easier to visualize and pivot data from your models

## Creating a Dimension

You have several options for creating a dimension:

- Create a new dimension via the **+** icon in the **overview** of the model on the left.

Create a new dimension

- Create a dimension **directly on a variable**:\
\
You can also create a new dimension directly on a variable by clicking on the **Dimensions** button and [adding a dimension breakdown](https://support.lucanet.cloud/en/documentation/xp-a---extended-planning-and-analysis/modeling-your-data/using-dimensions/dimensions-variables-and-formulas.md).

Add a dimension to a variable

{% info-box %}
If dimensions exist in your data sources, these will show up as options when you click the **Dimensions** button on a [variable that is connected to integrated data](https://support.lucanet.cloud/en/documentation/xp-a---extended-planning-and-analysis/integrating-data/working-with-integrated-data/linking-variables-to-integrated-data.md). If you select these dimensions, this will automatically create the dimension in xP&A (if they do not exist in xP&A yet), and add it to your model/variables. See [linking dimensions from data sources](https://support.lucanet.cloud/en/documentation/xp-a---extended-planning-and-analysis/integrating-data/working-with-integrated-data/linking-dimensions-to-data-source.md) for more.
{% /info-box %}

- Create a dimension in the **Dimensions** workspace:\
\
Open the **Dimension** workspace and click **New**.

Create a new dimension in the dimensions workspace

## Editing a Dimension

How you edit a dimension depends on whether you are editing the dimension in the **spreadsheet** or in the **Dimensions** workspace.

### In a Spreadsheet

To edit a dimension in the **spreadsheet of a model**:

{% stepper %}
{% stepper-step %}
Click the dimension you want to edit.

Dimensions in a model

{% /stepper-step %}
{% stepper-step %}
The dimension is displayed as follows, for example:

Dimension in a model

{% /stepper-step %}
{% stepper-step %}
If necessary, edit the **dimension items**. The following functions are available:

 - You can **rename**, **duplicate**, or **delete** an item in the item's **three-dot menu**.
 - Change the order of the items by moving one or more items using drag and drop.\
\

Edit dimension item
{% /stepper-step %}
{% stepper-step %}
If necessary, edit the **dimension** and the **item list** using the functions in the upper right corner of the dimension area.

Edit dimension

 The following functions are available:

 - Sort, filter or search the dimension
 - Rename the dimension
 - Change the dimension icon
 - Show or hide sparkline columns
 - Remove the dimension from the model
 - Delete the dimension

{% /stepper-step %}
{% /stepper %}
### In the 'Dimensions' Workspace

Dimensions can also be edited in the **Dimensions** workspace. The **Dimensions** page shows you a list of all of the dimensions on your account, and any dimensions that are used in models that have been shared with you (shared dimensions).

{% stepper %}
{% stepper-step %}
If neccessary, click **xP&A** in the upper left corner.
{% /stepper-step %}
{% stepper-step %}
Navigate to the **Dimensions** workspace.

 The **Dimensions** workspace is displayed as follows, for example:

Open the dimension workspace

{% /stepper-step %}
{% stepper-step %}
Configure the dimensions as desired (see [Options for Dimensions](#optcat)).
{% /stepper-step %}
{% stepper-step %}
If you want to edit the dimension items click on an empty space in the dimension line (see [Editing Dimension Items](#editcat)).

{% /stepper-step %}
{% /stepper %}
## Options for Dimensions

On the **Dimensions** page you have the following options for dimensions:

#### All,
 Yours,
 Shared

Filters the list of dimensions

Search for a dimension

Open a dimension mapping graph

Create a new dimension

Give dimensions an icon to distinguish them, by clicking the icon next to the dimension name

Models (Tooltip)

Visualise how dimensions link to each other (if you have [linked dimensions](https://support.lucanet.cloud/en/documentation/xp-a---extended-planning-and-analysis/modeling-your-data/using-dimensions/create-edit-dimensions.html?appId=aemshell.md#linked)).

Hover over the **models** entry to display the tooltip:

Connected models

Opens a context menu where you can inspect or delete the dimension.

Edit a dimension item

To edit the items list in a dimension, click on an empty space in the desired dimension line (see [Editing Dimension Items](https://support.lucanet.cloud/en/documentation/xp-a---extended-planning-and-analysis/modeling-your-data/using-dimensions/create-edit-dimensions.html?appId=aemshell.md#editcat)).

## Adding a Dimension Item

Add new dimension items in the bottom row by clicking **New item**.

Add dimension item

{% warning-box %}
All dimension items for a dimension must be unique, i.e. you cannot have two duplicate dimension items.
{% /warning-box %}

## Editing Dimension Items

To edit dimension items:

{% stepper %}
{% stepper-step %}
Click on an empty space in the dimension line.
{% /stepper-step %}
{% stepper-step %}
The **Dimension** detail view is displayed as follows, for example:

Product dimension with dimension items

{% /stepper-step %}
{% stepper-step %}
Configure the dimension items as desired.

The following functions for dimension items are available:

 - **Add**/ **delete**/ **rename** dimension items using the **three-dot menu** behind the name of the dimension item.
 - **Create** and **update dimension-level links** and **item-level mappings**.
 - Set the dimension **icon**.
 - **Search**, **sort**, **filter**, or **reorder** dimension items.
 - See which **data sources** the dimension is linked to (by hovering over each item).
 - Configure a **default currency** for the dimension item by adding the **currency column** using the **+** button. For more information on currency translation and currencies at dimension item level, see [Using Currency and Currency Conversion](https://support.lucanet.cloud/en/documentation/xp-a---extended-planning-and-analysis/modeling-your-data/currency---fx-conversion.md).

{% /stepper-step %}
{% /stepper %}
{% idea-box %}
In the **spreadsheet**, you can navigate to the dimension to which a dimension item belongs by clicking the **arrow icon**:

Navigate to dimension
{% /idea-box %}

## Structuring Dimensions in Hierarchies

If your dimension has an inherent hierarchy, e.g. you dimension is **Group** and contains **Divisions**, **Branches**, and **Shops** that are rolled up, you can build your dimension in order to display and aggregate data at the corresponding level.

To create this hierarchy in the **dimension settings**, simply grab a dimension item on the left and drop it under the dimension it belongs. This automatically assigns levels (top items are level 1, their children Level 2, and so on).

In the following example **Division 1** is level 1, **Branch A** is level 2 and **Shop 1, 2 and 3** are level 3:

Hierarchy of a dimension

{% idea-box %}
In the **spreadsheet**, you can group your dimensions by a certain hierarchy level. To do so, click the **Dimensions** button and select the level at which your data is grouped:

Grouping by levels
{% /idea-box %}

## Importing Dimensions From a Spreadsheet

When you [import a dimension from a spreadsheet](https://support.lucanet.cloud/en/documentation/xp-a---extended-planning-and-analysis/integrating-data/connecting-to-a-data-source/connecting-to-a-spreadsheet.md) (CSV, Excel, or Google Sheets), you can define the hierarchy directly in the cells of the spreadsheet using the **>** separator. xP&A reads the hierarchy path, creates each dimension item at the correct level, and links it to its parent item automatically – there is no need to rebuild the hierarchy by drag-and-drop after the import.

This is the recommended approach when you are setting up a dimension with a large number of dimension items.

**Example**

- In the dimension column of a spreadsheet, write the full path to each item, separating levels with **>**.
- The last segment is the item itself
- Everything before the last segment defines the ancestors

Dimension hierarchy in the spreadsheet

After the import, the dimension appears in the hierarchy in xP&A with the same structure you would get from organizing the dimension items manually:

Dimension hierarchy in xP&A after import

Once the dimension has been imported, you can continue to adjust the hierarchy manually with drag-and-drop in the dimension settings, as described in the previous section.

The two methods can be combined; i.e. first bulk-import the structure from a spreadsheet, then finetune individual items in the dimension details in xP&A.

{% info-box %}
**Please note**

- **Deduplication:** Items with the same path are treated as the same item. **Revenue > Product Sales** in two different rows resolves to one item **Product Sales** under **Revenue**.
- **Automatic creation of parents:** You do not need a separate row for every level. If your file only lists leaf items (for example, **Revenue > Product Sales > Licenses**), xP&A creates **Revenue** and **Product Sales** automatically. Auto-created parents have no values of their own; values roll up from their children.
- **Whitespace:** Spaces around **>** are ignored. **Revenue > Product Sales** and **Revenue>Product Sales** produce the same result.
- **Maximum depth:** A hierarchy can have up to 128 levels.
- **Backwards compatibility:** If no cell contains **>**, the import behaves exactly as before and the dimension is created as a flat list.
- **Invalid path**: xP&A shows a warning if a path is malformed — for example, a trailing >, a leading >, or empty segments between two separators (Revenue > > Licenses). In this case, fix the path in your source file and re-import.
{% /info-box %}

## Adding Types to a Dimension

In addition to levels, dimensions may also have **types**, which are classifications you can assign to items.

Types may align with levels, but don’t have to.

For example, you could have a **Shop** type where **Shop 5** and **Shop 6** are grouped under **Shop 4**.

In models, you can group the dimensions either by **types** or **levels**.

{% stepper %}
{% stepper-step %}
Navigate to the detail view of the dimension and click the + sign in the **Types** column on the right-hand side:

Adding a new type to a dimension
{% /stepper-step %}
{% stepper-step %}
Enter the name of the type and click **Save**.
{% /stepper-step %}
{% stepper-step %}
Add the **Type** column to the dimension table by clicking the **+** sign on top of an empty column and choosing **Show type column**:

Adding the 'Type' column
{% /stepper-step %}
{% stepper-step %}
In the **Type** column, assign the types to the relevant dimension items by choosing them from the dropdown menu. You can also click **Create new** to create a new type during this assignment step.

Assigning a type to a dimension item
{% /stepper-step %}
{% /stepper %}

{% idea-box %}
Once the types have been assigned, you can group your dimensions by type in the **spreadsheet**. To do so, click the **Dimensions** button and select the types you want to use for breaking down your dimensions:

Grouping by types
{% /idea-box %}

## Additional Functions for Dimensions

The following additional functions for dimensions are available:

### Bringing Existing Dimensions Into Models

To include an existing dimension in a model, choose one of the following options:

- Navigate to the dimension under the **+** icon in the overview of the model on the left. You can include multiple dimensions at once by clicking multiple dimensions while the picker is open:
Adding a dimension from the overview

- Click the **Dimensions** button on a variable, to add that dimension to the variable (and to the model):

- Adding a dimension from a variable

### Indirect Dimension Mappings

You can show or hide indirect dimension mappings in the data tables, or in the detail view of the dimension in the **Dimension** workspace.

**Example**:

- If each **Employee** has a **Title**, and each **Title** sits within a **Team**, then each **Employee** sits within a **Team** via their **Title**.
- The indirect dimension mapping is from the **Employee** to their **Team**.
- When in the **Employee** dimension, you can reveal the **Team** of each employee by clicking the **>** in the column header.

Show/Hide indirect dimensions

{% info-box %}
**1-to-1 vs. 1-to-many relationships**

- Linked dimensions have a 1-to-1 relationship, i.e. each dimension item in the primary dimension links to only one dimension item in the linked dimension. Each employee may only have one job title, for instance.

- xP&A's dimensions are not designed for 1-to-many relationships, i.e. one job title cannot sit within multiple departments.
{% /info-box %}

### Linking Dimensions

Often, there will be a relationship between dimensions. For example, assigning each **Employee** to a **Job** **Title**, or assigning each **Deal** to a **Sales Representative**.

To link dimensions, click the **+** in the far-right column (in the data tables, or in the detail view of the dimension in the **Dimensions** workspace) and select the **Link dimension** option.

Link dimensions

This will create an extra column in the data table, allowing you to map the two dimensions together (e.g. giving each **Employee** a **Location**).

Map dimensions

In **hierarchical** dimension with **levels**, only the **lowest** dimension items can be linked.

Example: In **Group A** → **Branch 1** → **Shop New**, only **Shop New** can be linked.

{% warning-box %}
Dimension linking can have an impact on your cell count and thus the performance of your model. Always verify your dimension relationships before implementing your model to avoid exponential cell growth and potential system performance issues.

For more information, see [Cells and Limits](https://support.lucanet.cloud/en/documentation/xp-a---extended-planning-and-analysis/working-with-models/cells-and-limits.md).
{% /warning-box %}

### Pasting Dimension Items Into xP&A

To paste data in (e.g. from a spreadsheet), simply copy your data, then select your row/s), and paste (**Ctrl/Cmd + V**). xP&A will "paste over" whatever row(s) you had selected.

If you do not want to paste over what you have already in the data table, then create a **new item** at the bottom of the table (you may have to take off alphabetical sorting if you have that applied), select that new item, and paste over that new item (see [Adding a dimension item](#newitem)).
