pbPassingBI
/

Concatenate and Column Appender

Stacking tables and attaching columns.

What you'll be able to do
  • Concatenate tables with differing columns
  • Handle duplicate row IDs
  • Use Column Appender appropriately

Concatenate

Stacks tables vertically — the union. Columns are matched by name, so order does not matter.

For columns present in one table but not another, choose:

  • Union — keep all columns, filling missing values where a table lacked one
  • Intersection — keep only columns present in every table

Union is usually right, and the missing values then tell you which source lacked the column.

Duplicate row IDs

RowIDs must be unique

KNIME requires unique RowIDs. Concatenating tables that each start at Row0 produces a conflict.

The dialog offers to append a suffix or generate new RowIDs. Choose one, or the node fails — and the error message about duplicate row keys is not obviously about concatenation the first time you meet it.

Recording the source

Concatenate can add a column identifying which input each row came from. Turn it on when combining monthly files — reconciling a total is much easier when you can group by source.

Column Appender

Column Appender attaches columns from one table to another by row position — row 1 to row 1, row 2 to row 2.

It does not match on a key. That makes it fast and appropriate when two tables are genuinely parallel outputs of the same rows, and completely wrong when they are not.

If the tables came from different sources, you almost certainly want the Joiner instead. Silent misalignment by position is one of the harder bugs to spot, because nothing errors.

Which to use

NeedNode
Stack similar tablesConcatenate
Match rows on a keyJoiner
Attach parallel columns by positionColumn Appender
Look up a value from a small tableCell Replacer
Key points
  • Concatenate matches columns by name; choose union or intersection
  • Duplicate RowIDs cause failures — let the node generate new ones
  • Column Appender matches by position, not by key — misaligns silently
Check yourself