Split Column
Split a column into a fixed number of parts using a delimiter. The first N-1 parts get one delimiter-segment each; everything left over goes into the last part. Use it to break apart compound fields like
"Last, First","city/region/country", or pipe-separated tags.
How it works
Section titled “How it works”Split Column is a streaming transform: each row is rewritten with the source column replaced by N new columns named {column}_1, {column}_2, … {column}_N. Other columns pass through in their original positions; the new columns slot in where the source column used to be.
Splitting is greedy on the right: with parts=3 and delimiter=",", the value "a,b,c,d,e" becomes ["a", "b", "c,d,e"]. This guarantees no data is dropped — the count of output columns is fixed but every input character lands somewhere.
If the input has fewer segments than parts, the missing tail columns are filled with empty strings. If keepOriginal is true, the source column is retained alongside the split columns.
If the column name is empty, the transform is a passthrough.
Input: One tabular data connection.
Output: The same columns, with the source column replaced (or supplemented) by {column}_1…{column}_N.
Options
Section titled “Options”| Option | Type | Default | Description |
|---|---|---|---|
column | string | "" | Source column to split. Required to do anything; empty string is a passthrough. |
delimiter | string | "," | String to split on. Multi-character delimiters work (e.g. " - "). |
parts | integer | 2 | Number of output columns. Minimum 2. The last column absorbs all remaining segments. |
keepOriginal | boolean | false | When true, the source column is kept in addition to the split columns. |
Examples
Section titled “Examples”Split a “Last, First” name column
Section titled “Split a “Last, First” name column”You have a name column formatted as "Last, First" and want separate columns.
Before:
| name | |
|---|---|
| Anderson, Alice | [email protected] |
| Brown, Bob | [email protected] |
| Chen, Carol | [email protected] |
Configuration: column: name, delimiter: , , parts: 2.
After:
| name_1 | name_2 | |
|---|---|---|
| Anderson | Alice | [email protected] |
| Brown | Bob | [email protected] |
| Chen | Carol | [email protected] |
Overflow collapses into the last part
Section titled “Overflow collapses into the last part”You have a path column with variable depth. You want city, region, and the rest as a tail.
Before:
| path |
|---|
| Valencia/Comunidad Valenciana/Spain |
| Berlin/Berlin/Germany |
| Brooklyn/NY/United States/North America |
Configuration: column: path, delimiter: /, parts: 3.
After:
| path_1 | path_2 | path_3 |
|---|---|---|
| Valencia | Comunidad Valenciana | Spain |
| Berlin | Berlin | Germany |
| Brooklyn | NY | United States/North America |
Keep the original column
Section titled “Keep the original column”You want the split parts but also need the original combined value for downstream reference.
Before:
| sku | qty |
|---|---|
| WIDGET-RED-LG | 3 |
| GADGET-BLUE-SM | 1 |
Configuration: column: sku, delimiter: -, parts: 3, keep original: true.
After:
| sku | sku_1 | sku_2 | sku_3 | qty |
|---|---|---|---|---|
| WIDGET-RED-LG | WIDGET | RED | LG | 3 |
| GADGET-BLUE-SM | GADGET | BLUE | SM | 1 |
Tips and Edge Cases
Section titled “Tips and Edge Cases”- The last part absorbs the tail, including the delimiter. With
parts=2anddelimiter=",","a,b,c"produces["a", "b,c"]— the comma is preserved verbatim inname_2. This is the right behavior for compound fields with optional trailing structure but surprising if you assumed splitting drops every delimiter. Seeapps/web/src/transforms/split-column/logic.ts:59-64. - Missing input segments produce empty strings, not nulls. Splitting
"single"withparts=3yields{name_1: "single", name_2: "", name_3: ""}. Filter Rows withis emptywill match these, but type coercion tonumberon a tail column will see""(which becomesnullafter coercion). Seeapps/web/src/transforms/split-column/logic.ts:60-63. - The output column position matches the source column position, regardless of
keepOriginal. The N new columns slot in where the source was; ifkeepOriginalis true the source stays first and the new columns follow it. Seeapps/web/src/transforms/split-column/logic.ts:55-68.
Related Transforms
Section titled “Related Transforms”- Rename Columns — rename the auto-generated
{column}_1…{column}_Nto meaningful names. - Formula — concatenate split parts back together or combine with other columns.
- Replace Values — normalize delimiters before splitting (e.g. swap
;for,).