Shape · Data quality and flow control

Compare Tables

Lines up two versions of a table by key columns and puts each value side by side, flagging every cell that changed. A row on only one side shows blanks for the other.

Also known as: Diff, reconcile

How it works

Wire the baseline into left and the new version into right; both must have the same set of columns or the node stops with the differing names. Key columns identify a row on both sides. Value columns are the ones compared, all non-key columns by default. For each key the output has the key, then per value column c_left, c_right and a boolean c_changed; a row present on one side only has NULLs on the other. Output Differences only keeps rows with a change or present on one side; Full keeps every row. Treat two nulls as equal is on by default; off, a cell that is NULL on both sides counts as changed.

Inputs and outputs

Inputs

  • left — Table
  • right — Table

Outputs

  • data — Table

Settings

The Attributes panel of Compare Tables, as in the app: the controls work, but nothing runs — there is no data behind it.

The same settings, as the Assistant writes them
{
  keyColumns: string[]
  valueColumns?: string[]
  outputMode: "diff_only"|"full"
  nullEqual: boolean
}

Example

Yesterday's price list against today's: key columns sku, value columns price, output Differences only.

skuprice_leftprice_rightprice_changed
A1009.9910.49true
B220NULL4.50true
C30515.00NULLtrue