Browse the docs
Nodes

Preparation nodes

Preparation nodes work on one stream of rows: they keep or drop rows, add and rename columns, calculate new values, and check the data before it goes anywhere.

Every formula and custom filter is written in one SQL expression language, the same in every node and whatever the data came from.

Data Cleanse

Trim whitespace, remove characters, fix nulls, and standardize text.

Data Compare

Check one dataset against another and report what disagrees.

Data Profile

Describe what is actually in the data, one row per column.

Data Validation

Check the data against rules. Rows that hold up leave Valid; the rest leave Invalid, tagged with what they broke.

Dynamic Rename

Rename every matching column at once. Add or strip a prefix, replace text, or fix the capitalisation.

Dynamic Select

Keep or drop columns by a rule: by type, by a name pattern, or by an expression.

Fill Missing

Fill missing values with a constant or a column statistic (mean/median/mode).

Filter

Split rows by a condition: matches go to True and the rest to False.

Formula

Add or replace columns with SQL expressions.

Formula Multi-Field

Apply one expression across several fields at once.

Formula Multi-Row

Compute a column from other rows with SQL window functions, such as running totals, ranking, lag/lead and moving averages.

Generate Rows

Synthesize rows from nothing: a sequence of numbers, dates or date-times.

Manage Columns

Keep, drop, reorder, rename, and retype columns.

Record ID

Stamp each row with a sequential number or a UUID.

Route

Send each row down one of several named branches, where the first matching rule wins. For a single yes/no condition, use Filter.

Sample

Keep a subset of rows: the first or last N, skip N, every Nth, a 1-in-N chance, or exactly N at random.

Sort

Order rows by one or more columns.

Unique

Split rows into first-seen (Unique) and repeats (Duplicate) by key columns.