Operation Node
Overview
Section titled “Overview”- Transformations – Modify field values (e.g. uppercase, number, template)
- Validations – Check values and optionally reject rows (e.g. required, lessThan)
- Dataset-wide ops – Query, Group, and Sort run after row-wise steps (query, then group, then sort). See QUERY.
Operations are executed in order. Each operation can have a source field and target field. Query, Group, and Sort ignore source and target; they reshape or reorder the whole table.
When you configure an operation badge, field pickers list columns from the node input schema and columns created earlier in the same stack via target. Inside IF, SWITCH, or Filter nests, options include ancestor priors and earlier ops on the same branch only (not sibling branches). Disabled ops are skipped. You can still type a path manually when it is not listed.
In the Operations editor you can describe transforms in the composer. Compile and Review / Compact keep column names with letters outside ASCII, including accented headers.
On the canvas, Operation and Filter badges stay collapsed on the node as a display-only strip, including the operation title. Double-click the badge to open the Operations editor. The Operations tab keeps the editable two-column editors.
Operations tab data views
Section titled “Operations tab data views”The Operations tab (Operation, Filter, and Compute editors) has three session-only data views on the left pane. The editable operation stack stays on the right. The Data tab is unchanged.
- Split (default): linked input and output grids, including independent pairing when filter, sort, or group is in the stack.
- Grid: a maximised output grid with the same transformation presentation as the Split output pane.
- Record: one output row as a form. Previous and next paginate output records. Each field lists the values it took through the stack on one line (
RT2 → mister → MISTER). Unchanged fields show the current value only. The field name stays on the left label. Changed fields use the same green text and changed dot as the output grid. Hover the written hop after the arrow to see the operation label that wrote it. Click that hop to scroll the operation into view in the stack.
Hover an operation to highlight its source columns (amber) and output columns (indigo) in all three views. Hover a column header, or a Record field label, to highlight matching operations in the stack. Hover a transformed output value to draw an indigo border on the operations that wrote it: Split and Grid highlight every writer in that field’s lineage, and Record highlights only the hop under the pointer. In Split and Grid, hovering an operation also borders every stack operation that writes the same output columns. In-place transforms use indigo. Highlighting does not persist and does not mark the workflow dirty.
In the Operations editor, use Duplicate on an operation badge to copy that operation and its parameters into the same stack, immediately after the original. Nested Filter, IF, and SWITCH branches copy with new ids so you can edit the copy independently. Custom Function copies get a (Copy) / (Copy N) label. Duplicate is not on the graph-view canvas stack.
On Operation and Filter nodes, Quick Add includes Clone from existing… when the workflow already has at least one custom Function (action: function). You pick any Function on the current workflow (including nested Filter/IF/SWITCH branches and NL-composed Functions). The clone lands in the current node top-level stack with a new id and a (Copy) / (Copy N) label so you can edit it independently.
Step output ports
Section titled “Step output ports”On Operation and Filter hosts, you can toggle gets output port(s) on a top-level stack step (plug control on the operation badge). That adds teal canvas output ports beside the matching stack step so you can wire intermediate results, or IF/SWITCH branch row sets, to other nodes. The host output port (emerald) still carries every row after the full stack.
When at least one step siphon is exposed, host output sits one pitch below the last op in the stack (below that op’s last siphon if it has one, otherwise the last badge). You do not need a siphon on every op. The same pitch of clearance sits under host output to the node bottom. IF/SWITCH badges grow to cover every stacked siphon, and a light through-stack path shows how rows flow. Collapsed IF/SWITCH rows show each siphon’s case next to its port (case Field='value', default, or true / false), right-aligned with the op labels above, instead of the one-line switch summary. When you expose no step ports, the node keeps the classic layout: centered input and output, no exe path, no extra band under the stack.
Hover a port on the graph to see its kind, label, id, and a row preview; click the port to pin the preview until you dismiss it. Output ports show that preview whether or not you wire them downstream. After a run, empty SWITCH/IF siphons show zero rows in the grid. Explore demo: Operation Step Output Ports (stamp/lane stacks wire from host output; siphons stay on enrich intermediates and SWITCH branches).
After a run, hover a cell in the node’s data grid to see audit for that column: errors, warnings, transformations, and field-level lineage. Row-level events (no column on the audit item) still appear on the cell tooltip. Hover the thin gutter at the left of the row to see the same information for every column on that row.
Configuration
Section titled “Configuration”See Workflow schema for the full schema. The operation node uses:
{ "custom": { "execution": { "operations": [ { "type": "transformation", "action": "uppercase", "params": {} } ] } }}On error
Section titled “On error”Each operation can set On error: raise error (run audit error) or raise exception (persisted workflow exception). See Exception management.
Related
Section titled “Related”- QUERY – Dataset-wide Query operation (
input_rows) - GROUP – Collapse rows and aggregate
- SORT – Reorder rows by one or more columns
- SWITCH – Literal case branches on a discriminant field
- Lookup – Left-join enrich from a lookup table
- filter – Uses the same operations to filter rows
- lessThan – Example validation
- Exception management – Persisted exceptions and board