> ## Documentation Index
> Fetch the complete documentation index at: https://support.caleido.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Track operational metrics

> Add operational rows such as headcount, units sold or stock to a report template, enter their values in the report grid and split them by dimension.

Operational rows bring non-financial figures into your reports. Use them for metrics such as headcount, units sold, hours worked or warehouse stock, and show them next to your financial rows. You enter the values yourself, in actuals and budget columns alike. Operational values don't create budget items or transactions.

An operational row keeps its own unit and decimals. The report's currency, scaling, rounding and zero hiding don't apply to it.

## Create an operational row

**1. Open the Operations tab**

Open a template in the **Builder** (see [Edit a report template](https://support.caleido.io/guides/reporting/edit-a-report.md)) and click the **Operations** tab in the left panel

**2. Add a row**

Click **Add new**. The **New operational row** window opens

**3. Describe the metric**

On the **General** tab, enter a **Name** and optionally a **Unit** (for example pcs, h or FTE), an **Icon**, an icon colour and a **Description**

**4. Choose the data type**

On the **Data** tab, pick the **Data type** and set **Decimals** (0 to 2). For a **Category** row, add the answers under **Categories** with **Add category**

**5. Set how periods add up**

On the **Aggregation** tab, choose the settings described below

**6. Save**

Click **Save**. The row appears on the **Operations** tab

Operational rows are shared across your organization. You can add the same row to several templates.

### Data types

* **Whole number** and **Decimal**: quantities such as headcount or hours
* **Percentage**: a value entered as a percent. Type 15 for 15%
* **Category**: one of the answers you list under **Categories**
* **Yes / no**: a yes or no answer

### Aggregation settings

* **Granularity**: how often you enter a value: **Daily**, **Weekly** or **Monthly**
* **Cumulative**: switch on for a running level, such as stock or headcount. Each period carries the previous value forward and shows the period's closing value, so you don't choose an aggregation
* **Allow negative values**: off by default, so a minus sign is refused
* **Period aggregation**: how values combine when the report shows longer periods than the row's granularity: **Sum**, **Average**, **Minimum**, **Maximum**, **Median**, **Most common**, **Count**, **Latest** or **Earliest**. **Category** rows allow **Most common**, **Latest** and **Earliest**. **Yes / no** rows also allow **Minimum** and **Maximum**
* **Show**: **Value** shows the values you entered. **Change** and **Change %** show how much each period changed from the previous one

## Add the row to a template

Drag the row from the **Operations** tab onto the template, like any other element. To split it, for example headcount by department, drop a dimension onto the operational row. Save the template.

In the report, the row header shows the name and unit, for example "Headcount, FTE".

## Enter values in the report

Click a cell of the operational row and type a value, or paste values from a spreadsheet. Press Delete to clear a cell.

* **Category** and **Yes / no** cells: type the answer, or press Enter or F2, or double-click, to pick it from a list. A **Yes / no** cell also accepts 1 and 0
* **Cumulative** rows: a cleared cell carries the previous period's value forward again. A typed 0 is saved and stops the carry
* You can type into a column that matches the row's granularity. In longer periods, such as a quarter for a monthly row, you can type only when the row is cumulative or uses **Sum** or **Average**. **Category** and **Yes / no** rows accept values only at their own granularity
* Cells of a row set to **Change** or **Change %** can't be edited. To edit values, open the row and set **Show** to **Value**

When pasted values have more decimals than the row keeps, or are negative when the row doesn't allow it, Caleido skips those cells and tells you how many it skipped.

### Values by dimension

A split row shows one row per dimension item and an **Unassigned** row. Type values directly into the dimension item rows. The **Unassigned** row shows the part of the total that isn't assigned to any item, and you can't type into it.

When the items add up to more than the row itself, Caleido saves the values and shows the difference on the **Unassigned** row as a negative number.

To move a value to a dimension item, drag the operational row, one of its item rows or its **Unassigned** row onto the dimension item. Caleido asks you to confirm, like when you label transaction lines. Drop an item row onto **Unassigned** to clear that split.

When a collapsed row has no values yet, click **Show** next to the number of empty rows to reach its dimension items.

## Edit, duplicate or delete a row

On the **Operations** tab, hover over a row and use **Edit…**, **Duplicate** or **Delete**. In the template, right-click the row and select **Edit operational row…**, or click its pen icon.

Changes to an operational row apply everywhere it is used. Deleting a row also deletes its values, and they can't be recovered. You can't delete a row while a report or chart still uses it. Caleido lists where it is used, so you can remove it there first.

## Related

* [Edit a report template](https://support.caleido.io/guides/reporting/edit-a-report.md)
* [Label data](https://support.caleido.io/guides/dimensions/label-data.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.