Split Column

Cut one column into several columns at a character you choose.

What it does

Split Column looks for a separator inside a column. It cuts the value there. Each piece goes into a new column. The original column stays in the table.

Split a column

  1. Type split in the Search transforms box, in the Pipeline panel.
  2. Click Split Column. The panel opens below the grid.
  3. Click the box under Select column. Pick the column to cut.
  4. Type the separator in Delimiter. A space, a comma and a hyphen are all valid.
  5. Type how many pieces you want in Number of parts.
  6. Click Apply.

The picker takes one column only. A new pick replaces the old one. Leave Number of parts empty and you get two columns.

How the pieces are cut

Part 1 is the text before the first separator. Part 2 is the text between the first and the second separator, and so on. This table shows an event registrations file. The column is attendee_name, the delimiter is a space, and the number of parts is 3.

attendee_nameattendee_name_1attendee_name_2attendee_name_3
Ada LovelaceAdaLovelace
Grace Brewster HopperGraceBrewsterHopper

A row can hold fewer pieces than you asked for. The extra columns are empty for that row.

Names of the new columns

  • The names follow the source column: attendee_name_1, attendee_name_2, and so on.
  • Split the same column twice and the names would clash. The step adds a suffix instead.
  • If attendee_name_1 is taken, the new column becomes attendee_name_1_2.
  • The count goes up until a free name is found. No step fails and no column is written over.

Before you apply

  • The delimiter is required. An empty box shows an error.
  • The delimiter is matched exactly. A comma with a space after it is not the same as a comma on its own.
  • Ask for one more part than you expect. It is easy to delete a column that stays empty.

For SQL users

Each part becomes one SPLIT_PART call with a fixed position:

SELECT *, SPLIT_PART("attendee_name", ' ', 1) AS "attendee_name_1", SPLIT_PART("attendee_name", ' ', 2) AS "attendee_name_2" FROM "registrations"
Try Split Column with sample data →

Related Operations