← All nodes
Transformations

Normalizer

Turns repeating groups of columns — Phone1, Phone2, Phone3, or Child1Name, Child1Age, Child2Name, Child2Age — into one row per occurrence, numbered.

When to use it

Use it on wide records from legacy systems, forms and spreadsheets that repeat the same fields in numbered columns. Unpivot / Transpose is simpler when each column is a single value; Normalizer keeps a group of columns together as one row.

In a pipeline

Settings

SettingTypeRequiredDefault or hint
Repeating columns, in orderselectYes—
Columns per occurrencenumber—1
Output column names (comma-separated, optional)text—From the first occurrence, digits removed
Columns to carry (optional)select—Every other column
Occurrence number columntext—Occurrence
Keep empty occurrencescheckbox—false

Example

Children listed across columns

  • Repeating columns, in order=Child1Name, Child1Age, Child2Name, Child2Age
  • Columns per occurrence=2
One row per parent
ParentChild1NameChild1AgeChild2NameChild2Age
AnaLeo7Mia4
RajZoe10——
One row per child
ParentOccurrenceChildNameChildAge
Ana1Leo7
Ana2Mia4
Raj1Zoe10

Raj's second occurrence is empty, so it is skipped and the node reports it.

Worth knowing

  • Pick the repeating columns in occurrence order: all the columns of the first occurrence, then the second, and so on.
  • Output names come from the first occurrence with the digits removed (Child1Name → ChildName); type your own in Output column names, comma-separated.
  • Columns to carry limits which other columns are copied onto each row; leave it empty to keep them all.
  • The output can have rows × occurrences rows; above the server's row limit the node stops with a message before building anything.

Others in Transformations