---
title: "Configuring Tables in Form Templates"
source_url: https://support.lucanet.cloud/en/documentation/data-collection/basic-configuration-dc/creating-and-configuring-form-templates/configuring-tables-in-form-templates
language: en
last_updated: 2026-06-08
---
# Configuring Tables in Form Templates

## Overview

This page describes how to configure **Pivot table**, **CFP Pivot table**, and **Dynamic table** elements in a form template — adding and configuring columns and rows, and setting up drill down. For instructions on how to create a form template and add elements to it, see [Creating and Configuring Form Templates](https://support.lucanet.cloud/en/documentation/data-collection/basic-configuration-dc/creating-and-configuring-form-templates/configuring-tables-in-form-templates/...md).

Configuration options vary depending on the table type:

- **Pivot table** and **CFP Pivot table** support the full range of column types, row configuration, and drill down described on this page.
- **Dynamic table** supports all column types. Rows are added by collectors during data collection, so a dynamic table has no row configuration in the template. Drill down is not available for dynamic tables.

## Adding a CFP Pivot Table

When you add a **CFP Pivot table** element to a form template, the system asks you to choose which rows to include from the selected Consolidation & Financial Planning workspace before the table is created. This row selection step lets you control exactly which eligible rows end up in the new table, instead of pulling all of them in automatically.

To add a CFP-based pivot table:

{% stepper %}
{% stepper-step %}
Add a **CFP Pivot table** element to a section (see [Adding Elements](https://support.lucanet.cloud/en/documentation/data-collection/basic-configuration-dc/creating-and-configuring-form-templates/configuring-tables-in-form-templates/...md#adding-elements)). The **Add Element** dialog is displayed:

'Add Element' dialog
{% /stepper-step %}
{% stepper-step %}
Select the Consolidation & Financial Planning (CFP) workspace whose structure you want to import and click **Import**. The **Select Rows to Include** dialog is displayed, showing all eligible rows of the selected workspace in their original hierarchy:

- For **General ledger**, **Subledger**, or **Statistical Ledger** workspaces, only account hierarchy rows are shown. Formulas, separators, and total lines are excluded.
- For **Schedule** workspaces, all workspace structure rows are shown. Formulas and total lines are excluded.

'Select Rows to Include' dialog
{% /stepper-step %}
{% stepper-step %}
Choose one of the available selection options:

- **Select all** — selects all eligible rows across all levels.
- **Show items only** — selects only rows of type **Item** in the CFP account hierarchy, regardless of their position in the hierarchy.
- **Custom selection** — lets you check or uncheck individual rows. Selecting a superordinate row automatically selects all of its descendants (unless **Show items only** is active).
{% /stepper-step %}
{% stepper-step %}
Click **Confirm**. The CFP Pivot table is created with the selected rows, preserving their original hierarchy.

For **Schedule** workspaces, columns are also pre-populated from the workspace. For **General ledger**, **Subledger**, and **Statistical Ledger** workspaces, the table starts without columns — add them as described in [Adding Columns](#adding-columns).
{% /stepper-step %}
{% /stepper %}

{% info-box %}
A selected superordinate row whose subordinate rows were not selected is included as a standalone row. If only some subordinate rows of a superordinate row are selected, the superordinate row travels with the selected subordinate rows to preserve the hierarchical structure.
{% /info-box %}

## Adding Columns

Columns define the data points you want to collect for each row in the table. Click **Add column** in the table header and select one of the available column types.

The available column types depend on the table type.

### Empty Column

Creates a column from scratch where you define all properties manually.

'Add new column' dialog

| Field | Description |
|---|---|
| **Name** | Unique name for the column within the table. |
| **Type** | Data type for the column values. Available types: **Numeric (float)**, **Numeric (integer)**, **Currency**, **Text**. |
| **Period value type** | Defines which type of period data is retrieved when importing from Consolidation & Financial Planning. Available for **Numeric** and **Currency** columns. See [Period Value Type for CFP Import](#period-value-type-for-cfp-import) for details. |
| **Decimal places** | Specifies the number of decimal places. Available for **Numeric (float)** and **Currency** column types. |
| **Text type** | Defines whether the text field allows single-line or multi-line input. Available for **Text** column type. |
| **This column is mandatory** | When activated, data collectors must provide a value for this column. |

#### Period Value Type for CFP Import

**Period value type** is a required setting for **Numeric** and **Currency** columns in Pivot tables and CFP Pivot tables. It defines which type of period data the system retrieves when importing from Consolidation & Financial Planning, so that each column gets the right values — for example, opening balances, within-period transactions, or closing balances.

| Period value type | Description |
|---|---|
| **Beginning of period** | Value at period start |
| **Within period** | Changes during the period |
| **End of period** | Value at period end |
| **YTD value** | Cumulative from fiscal year start |
| **Standard (auto)** | Lets Consolidation & Financial Planning determine the value based on account type. |

{% info-box %}
Period value type is configured when creating the column. Once data has been collected in the column, this setting cannot be changed.
{% /info-box %}

### Based on Consolidation & Financial Planning Dimension

Creates a column based on dimension elements from Consolidation & Financial Planning. The following dimensions are available:

- Transaction types
- Partners
- Adjustment levels

'Add Column from CFP' dialog

### Total Column

Creates an automatically calculated column that aggregates values from other columns.

'Add Total Column' dialog

| Field | Description |
|---|---|
| **Name** | Unique name for the column within the table |
| **Type** | Data type for the aggregated values. Available types: **Numeric (float)**, **Numeric (integer)**, **Currency**. |
| **Decimal places** | Number of decimal places for the result. Available when **Currency** or **Numeric (float)** is selected. |
| **Select columns** | The columns whose values are aggregated. |

{% info-box %}
The total column is only available when your table contains at least two numeric or currency columns. Calculated columns (such as existing total columns) cannot be included in a new total column.
{% /info-box %}

## Adding Rows

{% info-box %}
Row configuration is available only for **Pivot table** and **CFP Pivot table** elements. **Dynamic table** rows are added by collectors during data collection.
{% /info-box %}

Rows define the items or categories for which you want to collect data. Click **Add row** at the bottom of the table and select one of the available row types.

### Empty Row

Creates a new row where you define the name manually.

'Add empty row' option

### Total Row

Creates a row that automatically aggregates values from other rows.

'Add total row' option

### Subordinate Row

To add a subordinate row under an existing row, right-click the row and select **Add row**. The submenu offers:

| Option | Description |
|---|---|
| **Empty** | Adds an empty subordinate row under the selected row. |
| **Based on the CFP Partner dimension** | Opens the **Add row based on CFP** dialog to add subordinate rows based on the **Partner** dimension. |

Adding a subordinate row

{% info-box %}
The **Add row** option is not available on total rows.
{% /info-box %}

## Configuring Drill Down

{% info-box %}
Drill down is available only for **Pivot table** and **CFP Pivot table** elements.
{% /info-box %}

Drill down allows data collectors to provide more detailed data at a lower, reporting entity-specific level. You can configure drill down at the row level or the column level.

### Drill Down at Row Level

To configure drill down for a row:

{% stepper %}
{% stepper-step %}
Right-click the row.
{% /stepper-step %}
{% stepper-step %}
Select **Drill down** from the context menu. The **Configure Drill Down** dialog is displayed:

Configuring drill down
{% /stepper-step %}
{% stepper-step %}
Select the dimension from the **Drill down by** drop-down list:

| Dimension | Description |
|---|---|
| **Local account** | Collect data by local or company-specific accounts. |
| **Cost center** | Collect data by cost center. |
| **Partner** | Collect data by intercompany partner. |
{% /stepper-step %}
{% stepper-step %}
Click **Save**.
{% /stepper-step %}
{% /stepper %}

The row now displays an indicator showing that drill down is configured. When row-level drill down is configured, data collectors must provide data for all numeric and financial columns of that row for each member of the selected dimension.

### Drill Down at Column Level

You can configure drill down for columns with **Numeric** or **Currency** data types. To configure drill down for a column:

{% stepper %}
{% stepper-step %}
Right-click the column.
{% /stepper-step %}
{% stepper-step %}
Select **Add drill down** from the context menu. The **Configure Drill Down** dialog is displayed.
{% /stepper-step %}
{% stepper-step %}
Select the dimension from the **Drill down by** drop-down list (**Local account**, **Cost center**, or **Partner**).
{% /stepper-step %}
{% stepper-step %}
Click **Save**.
{% /stepper-step %}
{% /stepper %}

When column-level drill down is configured, data collectors must provide data for that column for each member of the selected dimension, across all rows in the table.

### Second-Level Drill Down

Once drill down is configured for a row or column, you can add a second-level drill down to create hierarchies for more detailed data collection.

To add a second-level drill down:

{% stepper %}
{% stepper-step %}
Right-click the row or column that already has drill down configured.
{% /stepper-step %}
{% stepper-step %}
Select **Configure drill down** from the context menu The **Configure Drill Down** dialog is displayed:

'Add second-level drill down' option
{% /stepper-step %}
{% stepper-step %}
Click **\+ Add second-level drill down**.
{% /stepper-step %}
{% stepper-step %}
Select the dimension for the second level from the drop-down list.
{% /stepper-step %}
{% stepper-step %}
Click **Save**.
{% /stepper-step %}
{% /stepper %}

The row now displays indicators for both drill down levels. Data collectors must provide data for each combination of the selected dimensions.

Second-level drill down added

## Reordering Rows and Columns

{% info-box %}
This section applies to **Pivot table** and **CFP Pivot table** elements. Reordering is only available while the form template is in **Draft** state.
{% /info-box %}

You can change the display order of rows and columns in a pivot table or CFP pivot table by drag-and-drop. Rows can also be moved under a different superordinate row within the same table. Both operations only change the display structure — collected data, drill-down configurations, and aggregations are bound to row and column identifiers, not to their position, so no data is lost or recalculated unexpectedly.

### Reordering Rows

You can drag any row to a new position among the rows at the same level (rows under the same superordinate row). The **Total** row is fixed at the bottom of the table and cannot be moved.

When you drag a superordinate row, all its subordinate rows move with it as a single unit. The internal superordinate–subordinate relationships within the moved subtree are preserved.

A horizontal line indicates the drop position during the drag. If you drop a row on an invalid target, it returns to its original position and an error message is shown.

### Moving Rows to Another Superordinate Row

You can drop a row onto another row to make it subordinate to that target row, changing its position in the hierarchy.

Moving a row to another superordinate row

When you drop a row on a valid target, a **Move Row** dialog is displayed showing the row you are moving, the source superordinate row, and the target superordinate row:

'Move Row' dialog

Review the details and click **Move** to commit the move.

After the move:

- The aggregation of the source superordinate row decreases by the moved row's contribution.
- The aggregation of the target superordinate row increases by the same amount.
- The **Total** is unaffected — it aggregates the values of all the lowest-level rows regardless of hierarchy.
- Drill-down configurations travel with the moved row and continue to work.

The following moves are not allowed:

| Restriction | Reason |
|---|---|
| A row cannot be moved under one of its own subordinate rows. | Circular hierarchy. |
| A row cannot be moved under the **Total** row. | The **Total** row is fixed. |
| A manually-added CFP partner-based row cannot be moved under another CFP partner-based row. | CFP partner-based rows are never valid targets. |
| A row cannot be moved under a lowest-level row that already has drill down configured. | Rows with drill down cannot accept subordinate rows. |
| A row cannot be moved beyond the maximum supported hierarchy depth. | Depth limit. |

### Reordering Columns

You can drag any column to a new position within the table. All column types are draggable.

Exceptions:

- The first column of the table is fixed.
- The last action column is fixed.

When you move a **Total column**, it continues to reference its source columns by identifier. Moving the total column or its source columns has no effect on the calculated value.

{% info-box %}
Rows and columns can only be moved **within their own table** — moving them between tables is not supported.
{% /info-box %}
