> For the complete documentation index, see [llms.txt](https://docs.rootcause.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rootcause.ai/more-details/applications/application-modules/dataoperations.md).

# Data Operations

> Transform data with filters, joins, aggregations, and 27 other operations.

Runs a saved chain of data operations over one or more frames.

The older, general-purpose transform node: `operations` is an ordered list the data-operations engine executes. For new flows the Primitives — Select, Filter, Join, Aggregate and the rest — say the same thing one step per node, which the builder can typecheck and the reactive tier can memoize per step.

## At a glance

|                          |                        |
| ------------------------ | ---------------------- |
| Module type              | `DataOperations`       |
| Category                 | Data Processing        |
| Default tier             | `reactive`             |
| Runs on                  | `reactive`, `durable`  |
| Starts a flow            | no                     |
| Holds a body             | no                     |
| Keeps state between runs | no                     |
| Available in             | every application type |

## Parameters

### `operations`

`unknown[]` · required · defaults to `[]`

The ordered chain the data-operations engine executes over the input frames.

## Inputs

| Port     | Kind        | Required | Description                                                                                                                           |
| -------- | ----------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `on`     | `event`     | no       | Implicit on every module that does not itself start a flow: wire an event here to make this module the start of what that event runs. |
| `data`   | `dataframe` | yes      | The frames to transform; accepts several, and the chain names them in order.                                                          |
| `params` | `json`      | no       | Run parameters; `{{params.*}}` inside an operation reads from here.                                                                   |

## Outputs

| Port     | Kind        | Connects to           | Description                  |
| -------- | ----------- | --------------------- | ---------------------------- |
| `output` | `dataframe` | `dataframe`, `signal` | The frame the chain ends on. |

***

[← All application modules](/more-details/applications/application-modules.md)
