Skip to content

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"
}
]
}
}

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 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.