Lookup
Left-join enrich: match a primary field to a lookup table column, then copy selected columns onto the row.
Parameters
- lookupKey (Lookup table, string, required) — Wire handle of the table to read. Default:
"". - matchField (Match data field, string, required) — Primary row field to match. Default:
"". - matchColumn (To lookup field, string, required) — Lookup table field to match against. Default:
"". - take (Take, array of objects (
column,as), required) — Lookup fields to copy onto the primary row (optional destination rename). Default:[].
Field selection
Lookup does not use params.source or params.target. Configure lookupKey, matchField, matchColumn, and take in the Lookup badge (or params).
JSON Configuration
{ "id": "op-lookup", "kind": "transformation:lookup", "params": { "lookupKey": "venues", "matchField": "venue", "matchColumn": "code", "take": [ { "column": "name", "as": "venue" }, { "column": "region", "as": "venue_region" } ] }}Named table and match
Section titled “Named table and match”The table you read is not a field on the operation. You wire a Static Data node, or any other tabular source, into the host, and that wire becomes a named table on the node. The wire’s handle is the table name. See Wires and named tables.
params.lookupKey is the handle of the wire that carries the table. A handle this node has no wire on fails the run with the handle named. matchField is the primary-row field. matchColumn is the column on the named table. Match is strict === (no trim or coerce).
Take columns
Section titled “Take columns”take is an array of { column, as? } objects, not nested operations:
- column: Field on the matched table row to copy.
- as: Optional rename on the primary row. Omit it to keep the table’s column name.
A miss leaves the primary row unchanged and writes an info audit. Several matching table rows use the first row in table order (also info). Empty take, or a missing lookupKey / matchField / matchColumn, fails the run.
Stack one Lookup operation per match field or table. A Formula operation reads the same tables with inputs().prop(handle).find(column, value), which is the recommended path when you want several columns, a default on a miss, or a condition. See Formula.
Explore Static Data Replacements and Multi-table Lookup Enrichment show stacked Lookup operations against one or more Static Data tables.