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
File InputNormalizerExport CSV
Settings
| Setting | Type | Required | Default or hint |
|---|---|---|---|
| Repeating columns, in order | select | Yes | — |
| Columns per occurrence | number | — | 1 |
| Output column names (comma-separated, optional) | text | — | From the first occurrence, digits removed |
| Columns to carry (optional) | select | — | Every other column |
| Occurrence number column | text | — | Occurrence |
| Keep empty occurrences | checkbox | — | false |
Example
Children listed across columns
- Repeating columns, in order=Child1Name, Child1Age, Child2Name, Child2Age
- Columns per occurrence=2
| Parent | Child1Name | Child1Age | Child2Name | Child2Age |
|---|---|---|---|---|
| Ana | Leo | 7 | Mia | 4 |
| Raj | Zoe | 10 | — | — |
| Parent | Occurrence | ChildName | ChildAge |
|---|---|---|---|
| Ana | 1 | Leo | 7 |
| Ana | 2 | Mia | 4 |
| Raj | 1 | Zoe | 10 |
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.