Browse the docs
Transform node

Cross Tab

Pivot rows into a wide cross-tabulation.

Category
Transform
Also known as
pivot table, crosstab, cross-tab, aggregate, wide

What it does

Pivots tall data into a wide cross-tabulation. Rows are grouped by the columns you pick; the distinct values of the Header field become brand-new columns; and the Value field fills the cells, combined by an aggregation (Sum, Count, Average, Min, Max, or Concatenate). Because the columns come from the data, their exact names appear in the preview after a test run.

Inputs and outputs

InputsOne.
OutputsOne.

When to use it

  • Turn transactions into a report matrix (region × month)
  • Build a pivot table: counts or totals by category across another dimension
  • Reshape long/event data into one row per entity with a column per status

Examples

Sales by region and month

Group by: region · Header: month · Value: sales · Sum

One row per region; a column per month.

Count by status

Group by: customer · Header: status · Value: order_id · Count

Empty cells show 0.

Collect tags

Group by: product · Header: source · Value: tag · Concatenate

Cells join the matching values.

Tips

  • Column names are the real header values, with no mangling. Q1 2026 stays “Q1 2026”.
  • Order the new columns Ascending or Descending by the header's own type (dates and numbers sort naturally, not as text).
  • Max columns guards against a header with too many distinct values turning into an unmanageable number of columns: the run fails clearly instead.
  • Empty cells are blank (null) by default; set “Empty cells” to 0 (or any value matching the type) to fill them.
  • Sum and Average need a numeric value field; Count and Concatenate work on any type.
  • When the header field has no values in a run (no rows came in, or every value is empty), there are no value columns to make: the group-by columns are still sent on, and a warning says so.