# Budgeting & Allocations

The Planning sheet supports both **top-down distribution** and **bottom-up aggregation**. This article describes how to use Planning sheets for common budgeting scenarios.

### Budgeting approaches

Organizations typically use one or both of the following approaches:

* **Top-down budgeting**\
  Management defines overall targets and distributes them across departments, teams, and time periods.
* **Bottom-up budgeting**\
  Individual teams create detailed budgets based on forecasts and requirements, which are then aggregated into a consolidated plan.

### Create a plan or budget

Creating a plan involves two main steps:

#### 1. Create a data input series

You can create a new series in the following ways:

* **From scratch (zero-based budgeting)**\
  Create an empty data input series to define a new budget.
* **From an existing series**\
  Copy an existing series (for example, a prior year plan or actuals) and modify it as needed.

#### 2. Allocate totals

After creating a series, enter values at a total or subtotal level and distribute them across rows or columns.

You can distribute values using:

* Equal distribution
* Weighted distribution
* Trend-based distribution

{% hint style="info" %}

#### Note

* Distribution options are available only at total or subtotal levels.
* Supported aggregation types include Sum, Average, and Weighted Average.
  {% endhint %}

#### Other features that you can use:

[**Lock values:**](#id-3.-lock-values) You can lock one or more cells, a row, or child cells in a parent category if you want them to remain unchanged during a distribution or copy operation.

[**Copy values:**](#id-4.-copy-values) You can use this feature to quickly copy a cell value to all the cells in the same category or until the end. You can also apply an increasing or decreasing trend while copying.

Below is a detailed demonstration of all the above-mentioned steps:

## 1. Creating a series

### 1.1. From scratch (zero-based budgeting)

Let’s assume you would like to create a zero-based budget for the year 2026.

This can be achieved by creating an empty data input column, as discussed in [this section](/planning-sheets/how-tos/adding-business-logic-and-formulae/measures-and-columns/insert-manual-input-columns/insert-manual-input-columns.md#i-insert-a-new-empty-series). The result is shown in the images below.

<figure><img src="/files/IHhUcdpLEQcMHc5Hytu4" alt=""><figcaption><p>Inserting blank measures</p></figcaption></figure>

<figure><img src="/files/prvIYpoDJwkXfxNYxsB7" alt=""><figcaption><p>2026 budget series inserted</p></figcaption></figure>

### 1.2. Based on an existing series

Let’s take another example where we would like to create a 2026 plan based on the 2025 plan (or the most recent actuals/forecast).

This can be achieved by creating a copy of any existing data series, as described in [this section](/planning-sheets/how-tos/adding-business-logic-and-formulae/measures-and-columns/insert-manual-input-columns/insert-manual-input-columns.md#ii-copy-from-another-series).

<figure><img src="/files/NE4ad0U2420TZfdOpBI9" alt=""><figcaption><p>Copy from 2025 Plan</p></figcaption></figure>

The result is shown in the image below.

<figure><img src="/files/keByXmpZE98tjQzf7t5R" alt=""><figcaption><p>2026 budget created </p></figcaption></figure>

## 2. Distribute totals

We will start with the [zero-based budget](#id-1.1.-from-scratch-zero-based-budgeting) for 2026 and then enter values.

<figure><img src="/files/nsPoTs7VgWpoG8zHTd87" alt=""><figcaption><p>Zero-based budget for 2026</p></figcaption></figure>

Enter a value of 3700 million as the *Q1 2026 Budget* in the formula bar by double-clicking on the cell.

<figure><img src="/files/e0oYSg7iH5d02CwqJ7Xd" alt=""><figcaption><p>Entering a value at the total level</p></figcaption></figure>

Now, there are three ways to allocate values entered in a **total or subtotal**—[equally](#id-2.1.-equal), [based on weights](#id-2.2.-weight), or [using a trend](#id-2.3.-trend). These are discussed below.

{% hint style="success" %}
The three distribution options (equal, by weights, and by trend) are only displayed on a total cell and are not available when you click on a cell at the child level.
{% endhint %}

{% hint style="success" %}
[**Sum**](/planning-sheets/how-tos/adding-business-logic-and-formulae/manage-aggregation.md#sum)**,** [**Average**](/planning-sheets/how-tos/adding-business-logic-and-formulae/manage-aggregation.md#average-children) (all types) and [**Weighted Average**](/planning-sheets/how-tos/adding-business-logic-and-formulae/manage-aggregation.md#weighted-average) are the only [row aggregation types](/planning-sheets/how-tos/adding-business-logic-and-formulae/measures-and-columns/insert-manual-input-columns/insert-manual-input-columns.md#i-row-aggregation-type) that allow allocations/distributions from total cells to the child rows. Other aggregation methods do not allow entry in the total cells.
{% endhint %}

### 2.1. Equal

After entering the value in the formula bar, press 'Enter.' By default, the values are distributed equally across all the categories and brands. The updated values are highlighted for a while.

Note that the values have been aggregated in the grand total (Grand total > 2026 Budget).

<figure><img src="/files/MlS5ChCiYKTlxbyP8WjV" alt=""><figcaption><p>Equal distribution</p></figcaption></figure>

Let's consider another example where we enter the budget first at the grand total level. Click on the highlighted cell and enter 18,000 million.

<figure><img src="/files/4Y1npYv8qKrryqt7RNYV" alt=""><figcaption><p>Update grand total</p></figcaption></figure>

Once you click 'Enter,' you can see the value distributed equally across categories and brands (row-wise), as well as quarters (column-wise).

<figure><img src="/files/SHwyE3LYJf8DS9XXllx3" alt=""><figcaption><p>Equal distribution of grand total level</p></figcaption></figure>

{% hint style="info" %}
By default, a total is distributed equally. When it is distributed otherwise, you can select the total and then choose the option, **Distribute equally** to distribute it equally to its descendant rows and columns.
{% endhint %}

### 2.2. Weight

Instead of an equal distribution, we can also allocate the budget proportionally based on an existing data series. Here, we will use the *2025 Plan* series to derive the weights for the new budget.

Click on the context menu appearing on the grand total cell with the value 18,000 million and choose ‘**Distribute by weights of 2025 Plan**’.

<figure><img src="/files/ADzk2YbJeFYz5AXWAW3k" alt=""><figcaption><p>Distribution based on prior year values</p></figcaption></figure>

Once this option is selected, the 2026 budget values are completely updated based on the relative contribution of the *2025 Plan* series values.&#x20;

<figure><img src="/files/HwEA3CGCyMiCB9nxKeqv" alt=""><figcaption><p>Value gets redistributed based on weights</p></figcaption></figure>

### 2.3. Trend

In some cases, you may need to allocate the total along with a growth or decline rate. In such cases, you can distribute values to rows and columns based on an increasing or decreasing trend.&#x20;

To accomplish this, specify the percentage by which each row (or column) value should increase or decrease as the value spreads across rows/columns.

#### Distribute to rows with trend

Let's consider the example below. We will now distribute the 2026 budget to all of its rows, with a 7% increase month-on-month.

Select the *2026 Budget*'s total cell and then choose '**Distribute to rows with trend'.** Using the slider, set the trend to 7%. You can also directly input the value using the option 'Input custom value' and then click **Apply**.

<figure><img src="/files/NrAuGVKMp5d04JMaCtxP" alt=""><figcaption><p>Distribute to rows with 7% trend</p></figcaption></figure>

The values are distributed across rows, increasing successively by 7% until the end.&#x20;

<figure><img src="/files/zbCyu0wkQLMZdg2cZt81" alt=""><figcaption><p>Distribute to rows with 7% increase</p></figcaption></figure>

#### Distribute to columns with trend

Let us distribute the 2026 annual budget across each quarter of the year (all columns—Q1, Q2, Q3, and Q4) with a 5% increase applied to each subsequent quarter.

Select the 2026 Budget's Grand Total cell and then choose '**Distribute to columns with trend'.** Use the slider to set the trend, or directly enter the value, 5, using the 'Input custom value' option, and then click **Apply**.

<figure><img src="/files/61YMH2pdRygdWdmychpX" alt=""><figcaption><p>Distribute to columns with 5% trend</p></figcaption></figure>

The values are distributed across columns, increasing successively by 5% until the end.

<figure><img src="/files/FS4eZNgxL1LyQCpO2dZH" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
To apply a decreasing trend, drag the slider to the left or enter a negative input value.
{% endhint %}

## 3. Lock values

In some cases, you may need to preserve a few cell values during allocation or copying. You can accomplish this by locking these data input cells either at the total/subtotal level (locking all children) or at the cell level. The locked cells are not affected by any of the allocation methods.&#x20;

{% hint style="info" %}
Report viewers will be able to lock and unlock cells in Reading view. However, they will not be able to unlock cells that the report author has locked.
{% endhint %}

### 3.1. Lock a cell

Let’s consider a business case—there is an overall budget for 2026, which is distributed to the beverage categories based on the 2025 Plan. Certain categories and brands have a fixed budget: for example, annual budgets for ***Hard Seltzer*** and ***Summit Lager*** are 5000 m and 700 m, respectively.&#x20;

The overall budget must now be **redistributed**, while the budgets of the two regions mentioned above should remain unchanged. This can be easily achieved as shown below.

* Note that we have inserted a [numeric data input column](#id-1.1.-from-scratch-zbb) for the 2026 budget, entered the budget of 16,000 m, and [distributed it by 2025 Plan.](#id-2.2.-weight)

<figure><img src="/files/EF6RtCn7BpdeTEDmqOmX" alt=""><figcaption><p>Distributed by weights</p></figcaption></figure>

* Click on the **Beer > Summit Lager > Grand Total > 2026 Budget** cell and update the value as shown below.

<figure><img src="/files/1ExiMJkeXmqJQRiITxRQ" alt=""><figcaption><p>Editing a cell to set budget</p></figcaption></figure>

* Once you press enter, click on the context menu and select **Lock this cell**.

<figure><img src="/files/4RaLBadAgrxd65ySBBxV" alt=""><figcaption><p>Locking a cell</p></figcaption></figure>

The cell is greyed out, indicating that it is locked from further adjustments.

<figure><img src="/files/ej7aO3HWnFJxPKTGnFKH" alt=""><figcaption><p>Cell locked</p></figcaption></figure>

* Similarly, update the budget in the **Hard Seltzer > Grand Total > 2026 Budget** cell and then lock the cell.&#x20;

This value is automatically distributed to its children (all the *Hard Seltzer* brands) based on previous weights. Also, note that the overall budget has become 16,446.08 m.

<figure><img src="/files/OixEp1o4cdMJizVnAntH" alt=""><figcaption><p>Budget for <em>Hard Seltzer</em> locked</p></figcaption></figure>

* Let’s enter 16,000 m again as the overall budget. This budget is now redistributed as shown below without affecting the locked cells.

<figure><img src="/files/hRxKTLagJQbmNQtbh9Lb" alt=""><figcaption><p>Redistributed budget doesn't affect locked cells</p></figcaption></figure>

### 3.2. Lock multiple cells

To lock multiple cells, Ctrl + click the required cells. Click on the lock icon and select **Lock selected cells** from the drop-down.

<figure><img src="/files/Rfh4WDbDtAdqoL1fr9Vz" alt=""><figcaption><p>Lock Selected Cells</p></figcaption></figure>

The locked cells are greyed out, indicating that they cannot be edited or updated.

<figure><img src="/files/XsPBhXA694Qeqzrx8Itk" alt=""><figcaption><p>Locked cells greyed out</p></figcaption></figure>

### 3.3. Lock all children

In some cases, you may want to lock all of the children in a specific cell. For example, all children across rows (subcategories/brands) and columns (quarters/months) may need to be locked. You can accomplish this by selecting this option.&#x20;

{% hint style="info" %}
The 'Lock all children' option is not available when you click on a cell with no hierarchical levels under it across rows or columns.
{% endhint %}

Let's click on a grand total that has child cells across rows and columns. Then, we will select **Lock all children** from the context menu.

<figure><img src="/files/GTGQk3h5xcT1yQzYEaMG" alt=""><figcaption><p>Lock all children</p></figcaption></figure>

All the child cells are locked, as shown in the image below.

<figure><img src="/files/G2xbz3RmT285b1ZFqFFA" alt=""><figcaption><p>Child cells are locked</p></figcaption></figure>

Let's update the overall budget and see the effect on the child cells.

<figure><img src="/files/e3tUZhzT6vgffzNAi5z8" alt=""><figcaption><p>Updating the budget</p></figcaption></figure>

The increase is applied to all others, except the locked category and its brands in all quarters.

<figure><img src="/files/2v7HzNQ5Wo63g0kYbV2p" alt=""><figcaption><p>Changes to the budget doesn't affect locked cells</p></figcaption></figure>

You can also lock children at a brand level or for a specific quarter by clicking on the relevant total cell and selecting the **Lock all children** option.&#x20;

<figure><img src="/files/wYw7I3NVNXz7l6Rupgu1" alt=""><figcaption><p>Locking at a brand level</p></figcaption></figure>

<figure><img src="/files/UQVTDyK5vsdyLgvZ70mh" alt=""><figcaption><p>Locking a category for a specific quarter </p></figcaption></figure>

### 3.4. Lock row

The 'Lock row' option is available in the **Measures In Rows** layout. This is used to lock an entire row when [measures are displayed as rows](https://docs.fabricplan.com/planning-sheets/how-tos/7.-planning-budgeting-and-forecasting/pages/A2jwjK0MzJSvm0jRzQvI#a.-in-rows).

Click on the row gripper next to the row you want to lock and select **Lock Row** to lock the entire row or measure.

<figure><img src="/files/s3RUuBfdOB5Tdcqpcxic" alt=""><figcaption><p>Lock row</p></figcaption></figure>

The entire row is now greyed out, indicating that it is locked and updates to that row are disabled.

<figure><img src="/files/DSLk79cIvDwUa4fF6lTX" alt=""><figcaption><p>Row locked for editing</p></figcaption></figure>

{% hint style="info" %}
For some levels, the result can be similar to the 'Lock all children' option. However, using the 'Lock row' option ensures only the specified measure or row is locked.
{% endhint %}

### 3.5. Unlock

a) To unlock a cell, select **Unlock this cell** from the context menu. The selected cell is unlocked.

<figure><img src="/files/sV5Nc5gQke43aYLQtOHZ" alt=""><figcaption><p>Unlock cell</p></figcaption></figure>

b) To unlock all the child cells of a locked cell, select the **Unlock all children** option.

<figure><img src="/files/BtLjkIP4ryhXAsqQdVI3" alt=""><figcaption><p>Unlock all children</p></figcaption></figure>

c) To unlock a row when the 'Measures In Rows' layout is enabled, click on the row gripper and select **Unlock Row**.

<figure><img src="/files/5czJyhk3skpetFYJQkjc" alt=""><figcaption><p>Unlock Row</p></figcaption></figure>

d) To unlock multiple cells, Ctrl + click on the locked cells and click on **Unlock selected cells**.

<figure><img src="/files/mMVHS8dznD38ebSTWT2h" alt=""><figcaption><p>Unlock selected cells</p></figcaption></figure>

## 4. Copy values

In addition to allocations, you can also replicate a cell's value to other cells. When you click on a child cell, you can see the different copy options available.

<figure><img src="/files/evnsWTsNUryHHOzCzwcy" alt=""><figcaption><p>Copying options</p></figcaption></figure>

Broadly, there are two preset options to update cell values:

* You can [copy the same cell value](#id-4.1.-copy) across rows or columns (or)
* [apply a trend](#id-4.2.-trend) across rows or columns

If these options do not satisfy your requirements, you can update the cells manually.

### 4.1. Copy

You can copy the current cell value and apply it to other cells using the following options:

* Copy until the last row in the row category
* Copy to all rows in the row category
* Copy to all rows
* Copy until the last column in the column category

<figure><img src="/files/bbkEDcKzIZOsumcRyRWy" alt=""><figcaption><p>Copy options</p></figcaption></figure>

Let's take the example below to demonstrate these options.

<figure><img src="/files/mB4BYZ6ZHPbFzDAPUMWm" alt=""><figcaption></figcaption></figure>

a) **Copy until last row in the category:** When you choose 'Copy until last row in **Beer**', the value of *Q1 > 2026 Budget > Eclipse Light* is copied until the last row in the *Beer* category, but not any other rows above it (*Artisan Ale* and *Cosmic Craft Brews*). The total and grand total are updated.

<figure><img src="/files/tIsq0AB0icUcckWBJloE" alt=""><figcaption><p>Copy until last row</p></figcaption></figure>

b) **Copy to all rows in the category:** If you want to copy the value to all the beer brands in that period (Q1), select 'Copy to all rows in **Beer**'.

<figure><img src="/files/bh5zndGjGa3v3Yv4wyZV" alt=""><figcaption><p>Copy to all rows in the category</p></figcaption></figure>

c) **Copy until last column:** To copy the value until the last column (here, it is until Q4), use the 'Copy until last column' option.

<figure><img src="/files/d2ZFZykVf9hWSJV3xfae" alt=""><figcaption><p>Copy until the last column</p></figcaption></figure>

d) **Copy to all rows:** To copy the value to all rows in the period until the end (all categories and brands), select the 'Copy to all rows' option.

<figure><img src="/files/a2MaYUu3MxCmHRmGxert" alt=""><figcaption><p>Copy to all rows</p></figcaption></figure>

### 4.2. Trend

While copying, you can apply an increasing or decreasing trend to the current cell value subsequently and then fill them up till the last row or column.

a) **Copy until last row&#x20;*****with trend*****&#x20;in the category:** Choose this option to copy until the last row in the category with a trend. After selecting, you will see a graphical slider that allows you to set an increasing or decreasing trend.

<figure><img src="/files/RQUOmOvpV7U15v8HB5wA" alt=""><figcaption><p>Slider to apply trend</p></figcaption></figure>

Adjust the slider to set a positive or negative trend.

<figure><img src="/files/ESZQ8Jpm08lgSMU8WIOF" alt=""><figcaption><p>Positive trend %</p></figcaption></figure>

If you want to enter a percentage precisely, you can click on the 'Input custom value' option. Then, enter a percentage and click **Apply**.&#x20;

<figure><img src="/files/Qx5A9nHfZgbobhE86MWA" alt=""><figcaption><p>Apply trend</p></figcaption></figure>

The values are updated till the last row in the *Beer* category. The total and grand total are updated.

<figure><img src="/files/8D3onoNjfwbKL6KRKpKZ" alt=""><figcaption><p>Copy until last row with trend</p></figcaption></figure>

b) **Copy until last column&#x20;*****with trend*****:** Select this option to copy the value until the last column with an increasing or decreasing trend.&#x20;

<figure><img src="/files/fbgb5ilyw8BKBedRqMeK" alt=""><figcaption><p>Copy until last column with trend</p></figcaption></figure>

Use the slider to set an increasing or decreasing trend, or click on 'Input custom value' to enter a precise trend value and click **Apply.**

<figure><img src="/files/hS7wU6zQfCfhuG4a3wHy" alt=""><figcaption><p>Slide to apply trend</p></figcaption></figure>

The selected value is copied with an increasing trend till the last column, Q4. The total and grand total are updated.

<figure><img src="/files/mvx23BcUIT5WrXZaYlaw" alt=""><figcaption><p>Copied till last column with trend</p></figcaption></figure>

{% hint style="info" %}
Move the slider to the left or input a negative number to apply a decreasing trend.
{% endhint %}

### 4.3. Lock and Copy

Similar to locking cells before allocation as discussed in [this section](#id-3.-lock-values), you can use 'Copy to rows/Copy with trend' in conjunction with 'Lock this cell' to achieve various use cases.&#x20;

In the following example, we have used the [**Lock this cell**](#id-3.1.-lock-a-cell) and [**Lock all children**](#id-3.3.-lock-all-children) options to lock a few key values that we do not want to alter. The annual budgets for two beer brands are locked. Also, the 2026 Q4 budget for the beer category is locked.

<figure><img src="/files/saFawRZGlNPNrUOSjR0h" alt=""><figcaption><p>Locked cells</p></figcaption></figure>

If we copy the 2026 Q1 budget value of the *Artisan Ale* brand to all rows in the *Beer* category, all brands except two are updated because their total is fixed.

<figure><img src="/files/aQq640XQ5rrfisFbzYb8" alt=""><figcaption><p>Copy until last row</p></figcaption></figure>

Similarly, applying an increasing trend until the last column has no effect on Q4 because it has been locked.

<figure><img src="/files/xO1L8MyOLNnHFuyZN6GD" alt=""><figcaption><p>Copy until last column with trend</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fabricplan.com/planning-sheets/how-tos/7.-planning-budgeting-and-forecasting/budgeting-and-allocations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
