Skip to content

Join

Combine two datasets by matching rows on one or more key columns (SQL-style joins).

When to use this

  • You have two files (or two upstream nodes) and you want to merge them on a shared key, for example to attach product master data to a transactions table, or unit costs to shipments

What you need

  • Two upstream data sources wired to the left and right inputs of the Join node
  • The column(s) to match on: one or more pairs of "left column = right column"

Parameters

Set in the side panel:

Setting Options Description
Join Type Inner Join, Left Join, Right Join, Full Outer Join Which rows survive the join. See the table below.
Join Keys One or more left column = right column pairs The columns for matching rows between left and right. All pairs must match (AND-combined).

Join Type

Type Behaviour
Inner Join Only rows that match in both inputs
Left Join All rows from left; right columns are empty when there is no match
Right Join All rows from right; left columns are empty when there is no match
Full Outer Join All rows from both inputs; unmatched sides have empty columns

What you get

A single dataset with the columns from both inputs. When a non-key column has the same name on both sides, the right-side column is renamed with a _right suffix. Downstream nodes must reference the suffixed name.

Chained joins

For three or more inputs, chain Join nodes left to right. Each Join's output becomes the left input of the next:

flowchart LR
    n1["Import Data (A)"] --> n2["Join 1"]
    n2 --> n3["Join 2"]
    n3 --> n4["Create Scenario"]
    n5["Import Data (B)"] --> n2
    n6["Import Data (C)"] --> n3

Workflow wiring

flowchart LR
    n1["Import Data (orders.csv)"] --> n2["Join (order_id = id)"]
    n2 --> n3["Map Locations"]
    n3 --> n4["Create Scenario"]
    n5["Import Data (products.csv)"] --> n2

Common mistakes

  • Wiring only one input. Join needs exactly two upstream connections
  • Forgetting the _right suffix on conflicting column names in downstream nodes
  • Using a Script to write a join in Python. Use Join first; it needs no code and is visible in the workflow
  • Adding multiple Join Keys expecting OR behaviour. All keys are AND-combined; every pair must match