# Insert data input rows

Plan allows you to insert rows in matrix reports and enter data manually.

In some scenarios, data retrieved from a source may be incomplete. For example, a financial statement report might include revenue and expense metrics but not the number of shares outstanding. Similarly, a sales report might not include data for a newly launched product category. To address such cases, you can insert data input rows in the report and enter the required data.&#x20;

In this article, you learn how to insert them and enter values directly in the report.

### Insert a data input row

Insert a data input row using either of the following methods:

* From the Planning tab
* Using row gripper

#### From the Planning tab

1. Select a row at the level where you want to insert the new row in the report.
2. Go to **Planning** > **Insert Row**. This option is disabled if no row is selected.
3. Navigate to **Data Input** and select **Number**.

<figure><img src="/files/ImpUW4Fnb7tciAPhuavA" alt="" width="563"><figcaption></figcaption></figure>

#### Using the row gripper

1. Hover over a row to highlight the **row gripper** icon.
2. Select the gripper and choose **Insert** > **Data Input**.

<figure><img src="/files/LruPfQHb74AG5EN58FtE" alt="" width="316"><figcaption></figcaption></figure>

A side panel opens as shown below, where you can configure the row properties.

<figure><img src="/files/S4JqKfyP08rqBvsDDeQm" alt="" width="375"><figcaption></figcaption></figure>

Enter a name in the **Title** field and select **Create**. An empty row with default properties is added at the selected level.

Before selecting **Create**, you can modify the default row properties by configuring additional settings. The following sections describe these settings.

### Data input row properties

* **Row type**: Use the dropdown to select the type of row to insert:

  * **Calculated row (Formula)**
  * **Data input row (Number)**

  You can switch between row types at any time.

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

* **Insert As**: Choose how the row is inserted:
  * **Single Row** - Inserts one row.
  * **Templated** - Inserts the row across all hierarchy levels. For example, you can create a product line and replicate it across all region levels.
* **Scaling factor**: Set the scale for values in the data input row to thousands, millions, billions, or trillions. By default, it is set to *Auto*.

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

* **Include in total**: When enabled, the row values are included in the parent total. It is enabled by default.
* **Distribute parent value to children**: When enabled, row values entered at the parent level are distributed to child levels.
* **Default value**: Set the initial value for the row, which can be a

  * static value, or
  * a value sourced from another row

  Choose **Static** to enter a static row value. Choose **Row** to source values from another row in the report. You can enter the required row name in the **Selected Row.**&#x20;

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

* **Bind for cross filter/RLS**: Enable **Bind for Cross filter/RLS** to ensure that cross-filter selections and row-level security (RLS) rules are applied to formula rows and data input rows that reference other rows. [Learn more about binding rows](/planning-sheets/how-tos/adding-business-logic-and-formulae/rows/insert-calculated-rows.md#configure-formula-row-properties).

<figure><img src="/files/DNTzRKxFkCUEzASDGUWn" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="warning" %}

#### Note

If the **Bind for cross filter/RLS option** is disabled, a manager responsible for *Canada* accounts may see a manually inserted row that references *US* data.
{% endhint %}

* **Delete a static row**: Hover over the row, select the row gripper, and then select **Delete Row**.\
  Alternatively, you can delete rows from the [**Manage Rows**](/planning-sheets/how-tos/adding-business-logic-and-formulae/manage-inserted-rows-and-columns.md) interface.

<figure><img src="/files/AQsMK9WztXwb7CshLsk4" alt="" width="183"><figcaption></figcaption></figure>

* **Allow Input**: You can choose when users are allowed to enter inputs into a data input row.
  * **Edit mode**: Users can enter values only in edit mode.
  * **Read mode**: Users can enter values even in read mode.

### Bulk insert data input rows

You can bulk-insert leaf-level rows or row hierarchies using the **Insert Row(s)** option from the Planning tab or row gripper.

#### Insert rows

1. Select any child row or the parent row under which you want to create new rows.
2. Use the row gripper and select **Insert > Insert Row(s)**, or go to **Planning > Insert Row > Data Input > Insert Row(s)**.

<div align="left"><figure><img src="/files/Mhk6orALP5OoriKLsAY3" alt="" width="361"><figcaption></figcaption></figure> <figure><img src="/files/PWSKEFvRW68L1ioUmamn" alt="" width="563"><figcaption></figcaption></figure></div>

3. In the **Insert Row(s)** pop-up, you'll see that the parent row levels are already filled in. Enter the new row name.
4. To insert another row, select **Add New** or use the **+ icon** next to the parent category.

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

5. To insert multiple rows at once, use the dropdown next to **Add New** and choose whether you want to insert **1, 5,** or **10 rows**.
6. Enter row names and select **Save.**

You can also specify the row dimensions where the new rows have to be added by selecting the icon in the **Insert Row(s)** window.

<figure><img src="/files/LFOmQ9xZg7dvleYTa26l" alt="" width="563"><figcaption></figcaption></figure>

#### Insert a row hierarchy

To insert a hierarchy of rows:

1. Go to **Insert Row(s)** and select **Add New**.
2. In the Insert Row(s) window, the parent row hierarchy is pre-filled with existing values. Overwrite these values to define the new row hierarchy.
3. Select **Save**.

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

Overwriting is allowed only when the row type is set to **Text** in **Insert Row >** **Manage Rows > Row Settings > Insert Row Configuration**.

<figure><img src="/files/pGVYxl80VfCPuxpLig7U" alt="" width="563"><figcaption></figcaption></figure>

### Allow blank values in categories

While inserting row hierarchies manually, enable the **Allow Blank Values** toggle if you expect blank row categories in the leaf nodes.&#x20;

1. Navigate to **Planning** > **Manage Rows** > **Row Settings** > **Insert Row Configuration**.
2. Enable **Allow Blank Values**.

<figure><img src="/files/OUWypCISStX6j2KMjmGF" alt="" width="563"><figcaption></figcaption></figure>

By default, this toggle is disabled. The blank categories are highlighted in a red error box, and you cannot create rows with blank row categories.&#x20;

By enabling this option, you can insert row hierarchies that contain blank leaf categories.

{% hint style="warning" %}

#### Note

You cannot create a blank parent node if the child nodes contain values.
{% endhint %}

### Disable row insertion

You can restrict users from creating new categories for a particular level. To restrict row creation:

1. Go to **Insert Row >** **Manage Rows >** **Row Settings** **>** **Insert Row Configuration >** **Manage**.
2. Set **Type** to **Disable Insert Row**.

This prevents row insertion at the selected level and all levels above it, while child levels still allow insertion.

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

### Upload rows from Excel or CSV

You can also upload row categories from an Excel/CSV sheet and map the respective columns in the configuration.

1. Go to **Insert Row > Manage Rows > Row Settings > Insert Row Configuration > Manage** and select **Options list from CSV.**

<div align="left"><figure><img src="/files/3Lv5GPyKXhzUZkwCObgV" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="/files/K4WOecNy405v8FVPyqae" alt="" width="563"><figcaption></figcaption></figure></div>

2. Select **Upload** and choose a CSV file from your system.
3. Preview the data and select **Add**.

<figure><img src="/files/BYwgm05fpn1HYZcI06P8" alt="" width="375"><figcaption></figcaption></figure>

4. Go to **Option Configuration** tab.
5. Map the column using **Filter options** by selecting **Add New**, then select **Save**.

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

6. The uploaded values appear in the **Insert Row** window. [Use standard insert steps](#insert-rows) to add them to the report.

### Insert distinct values as rows

Select **Distinct Values** in the Insert Row configuration to work with unique values from a selected dimension.

<figure><img src="/files/0HIKSwabYpCWq35Pec9X" alt="" width="563"><figcaption></figcaption></figure>

When this option is selected, you can:

* View only existing distinct (unique) values in the dropdown for the configured dimension in the **Insert Row(s)** window.
* Select and insert values directly as rows or row hierarchy from the dropdown, avoiding manual entry.

This helps streamline data entry by ensuring consistency and inserting rows within the existing row hierarchy by directly selecting the dimension value.


---

# 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/adding-business-logic-and-formulae/rows/insert-manual-input-rows.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.
