Overview
The Merge node is a transformation node in a Weave that joins two upstream datasets into a single output based on configured matching criteria. The Merge popup has two sections: Matching Criteria (where the Join Type and join column pairs are configured) and Filter Criteria (where per-dataframe filters restrict which rows participate).
Merge sits in the Transformation category of the node panel. The popup uses the canonical Filter Criteria UI documented in the Filter node article.
Note: “Weave” is the current name for what earlier interface versions called “Workflow.” This reference uses “Weave.”
When to use it
- Combining data from two sources where each source contributes different columns about the same entities — e.g., merging an Employees Data Import (basic info) with a Compensation Data Import (salary, bonus) on Employee_ID.
- Enriching transactional data with reference data — joining a Sales table to a Products table to attach product names and categories to each sale.
- Producing analytical wide-tables for downstream reporting where multiple narrow tables are combined into a single dataset.
- Combining the output of two upstream transformation chains where each chain produced complementary outputs about the same entities.
Join Type semantics
The Join Type determines which rows from the two input datasets appear in the output.
| Type | Behavior |
| Left | Every row from the left dataset appears in the output. For each left row, matching right rows are included; non-matching left rows appear with NULLs on the right side’s columns. |
| Right | Every row from the right dataset appears in the output. Matching left rows are included; non-matching right rows appear with NULLs on the left side. |
| Inner | Only rows where the join condition is satisfied on both sides. Non-matching rows from either side are dropped. |
| Full Outer | Every row from both datasets. Matched rows are combined; unmatched rows from either side appear with NULLs on the other side. |
Filter Criteria
Optional row-level filters applied to the upstream data before merging. Unlike the standard Filter node’s Filter Criteria, Merge’s variant adds a Dataframe selector — each filter row specifies which upstream source the filter targets.
| Setting | Description |
| Logic | Per-row AND / OR selector combining adjacent rows within a group. Appears on the second row onward. Same pattern as the Filter node. |
| Dataframe | Dropdown picking which upstream dataset (Data Import 1 or Data Import 2) this filter row applies to. Unique to Merge — necessary because two upstream sources exist. |
| Column | Dropdown listing columns from the dataframe selected in the Dataframe column. Pick the column to filter on. |
| Filter Condition | One of the 13 comparison operators documented in the Filter node article (Equals, Not Equals, In, Not In, Less Than, Greater Than, Less Than Or Equal To, Greater Than Or Equal To, Like, Empty, Not Empty, Null, Not Null). |
| Input | Comparison value. |
| Action + | Add another filter row. Trash icon removes the row. |
| Add Group / Delete Group | Add or remove filter groups for nested logic. |
Key behaviors
Multi-input architecture. Merge is the first documented Weave transformation node that accepts two upstream inputs. Every other transformation node — Cleansing, Imputation, Duplicates, Filter, Fuzzy Filter, Outlier Treatment, Validation, Binning, Trimming, Sorting, Data Transformation — has a single input. Merge breaks this pattern by requiring two simultaneous upstream streams that get joined together in the node.
Join Type fundamentally changes output row count. The chosen Join Type determines whether non-matching rows are kept (Left / Right / Full Outer) or dropped (Inner). This is the single most important configuration decision. Designers should verify the row count after a first run matches expectations — “too few rows” usually means Inner when Left was intended; “too many” usually means a missed deduplication upstream.
Output schema is the union of both input columns. Merge doesn’t drop columns — both inputs’ columns flow through. The output schema has every column from both sources. For wide datasets, this can produce schemas with many columns; downstream nodes must handle the breadth. To narrow the schema, use a downstream Data Transformation or a SQL Executor with explicit column selection.
Merge vs. Union vs. Fuzzy Merge. Three Weave nodes combine multiple datasets. Merge does a column-wise join (matching on key columns, producing wide output). Union concatenates rows vertically. Fuzzy Merge applies similarity-based matching for joining on approximate-equality column values.