Merge Task¶
Overview¶
The Merge task combines multiple columns or values into a single result. It can merge columns horizontally (combining fields), merge values vertically (joining array values), or do both. It's the opposite of the Split task.
When to Use¶
Use the Merge task when you need to:
- Combine multiple columns/fields into one field
- Join array values into a delimited string
- Merge indexed columns (like
item_1,item_2,item_3) - Create full names from first/last name fields
- Flatten data structures
- Consolidate columns matching a pattern
Settings¶
Key / Column name¶
Required | Type: Text field | Taggable: Yes
The target location for the merged result. Use dot notation for nested paths.
Action¶
Required | Type: Select dropdown | Default: Merge values
Choose what to merge:
- Merge values (
merge_values): Combines array values into a single string (vertical merge) - Merge columns (
merge_columns): Combines multiple columns into one (horizontal merge) - Merge both (
merge_both): Merges columns, then joins resulting values into a string
Key merge method¶
Type: Select dropdown | Conditional: Only when Action is "Merge columns" or "Merge both"
How to identify columns to merge:
- Column key names: Specify exact column names
- Indexed name: Merge numbered columns (e.g.,
item_1,item_2) - Regular expression: Match columns with regex pattern
Column keys that need to be merged¶
Type: Grid field | Taggable: Yes | Sortable: Yes | Conditional: Only when using Column key names
List exact column names to merge (in order).
Regex to match keys¶
Type: Text field | Taggable: Yes | Conditional: Only when using Regular expression
Regex pattern to match column names (e.g., ^item_ matches columns starting with "item_").
Indexed key¶
Type: Text field | Taggable: Yes | Default: {*key*}_{*index*} | Conditional: Only when using Indexed name
Template for indexed column names. Wildcards: - {*key*} - Key/Column name - {*index*} - Index number
Index starts with¶
Type: Number | Default: 0 | Conditional: Only when using Indexed name
Starting number for index.
Index ends with¶
Type: Number | Conditional: Only when using Indexed name
Ending number for index (optional). Leave empty to merge until no more matching columns found.
Remove original key(s)?¶
Type: Switch | Default: No | Conditional: Only when Action is "Merge columns" or "Merge both"
Whether to delete original columns after merging.
Separator¶
Type: Select dropdown | Customizable | Default: Comma | Conditional: Only when Action is "Merge values" or "Merge both"
Character(s) to join values with: - Comma (,), Semicolon (;), Space, Tab ({*tab*}), New line ({*nl*}) - Custom: Any string
Merge columns type¶
Type: Column type selector | Optional | Conditional: Only when Action is "Merge columns" or "Merge both"
Apply data type transformation to merged columns before combining.
Merge values type¶
Type: Column type selector | Optional | Conditional: Only when Action is "Merge values" or "Merge both"
Apply transformation to final merged value.
How It Works¶
Merge Values¶
- Gets array from Key / Column name
- Joins values with Separator
- Applies value type transformation (if configured)
- Returns string
Merge Columns¶
- Identifies columns using the configured method
- Applies column type transformation (if configured)
- Merges columns into target location
- Removes originals (if configured)
Merge Both¶
Combines both: merges columns into array, then joins values into string.
Use Cases¶
Create Full Name¶
Configuration: - Key: full_name - Action: Merge columns - Method: Column key names (first_name, last_name) - Separator: Space
Result: {first_name: "John", last_name: "Doe"} → {full_name: "John Doe"}
Join Array Values¶
Configuration: - Key: tags - Action: Merge values - Separator: Comma
Result: {tags: ["tag1", "tag2", "tag3"]} → {tags: "tag1,tag2,tag3"}
Merge Indexed Columns¶
Configuration: - Key: items - Action: Merge columns - Method: Indexed name (item_{*index*}) - Start: 1, End: 3 - Remove original: Yes
Result: {item_1: "A", item_2: "B", item_3: "C"} → {items: ["A", "B", "C"]}
Combine Address¶
Configuration: - Key: address - Action: Merge both - Method: Column key names (street, city, state, zip) - Separator: Comma
Result: Combines address fields into single comma-separated string
Best Practices¶
Choose the Right Action: Merge values for arrays→strings, merge columns for fields→array, merge both for fields→string.
Use Indexed Names for Patterns: When dealing with numbered fields (item_1, item_2), use indexed name method.
Consider Separator Choice: Choose separators appropriate for your data (comma for CSV, space for names, etc.).
Apply Type Transformations: Use column/value types to clean or convert data during merge.
Remove Originals Carefully: Only remove original columns if you're sure you won't need them later.
Notes¶
- Merge values requires an array; merge columns works with object keys
- Empty values are included in merges (can result in double separators)
- Indexed merge stops when no more matching columns are found (unless end index specified)
- Regex patterns are matched against column names (case-sensitive by default)
- Column order in merge determines output order
- Wildcards in indexed key template are case-sensitive
- Type transformations apply before merging