Join / List Layer
Combine elements from variable-length string lists into a single string using a specified separator. Similar to Python's str.join() or R's paste(collapse=). Creates a string column where each row contains concatenated list elements.
Example transformation:
With separator=', ':
lists | joined |
---|---|
[red, blue, green, yellow] | red, blue, green, yellow |
[x, y] | x, y |
[tag1] | tag1 |
[a, null, c, null] | a, c |
[] | null |
[null, null] | null |
Common applications:
- Creating CSV strings from variable-length data
- Formatting dynamic tag lists
- Building composite descriptions
- Concatenating transaction histories
- Converting hierarchical paths to strings
- Combining multi-value attributes
- Formatting search keywords
Note: Only works with string lists. Lists can have any length, including empty. Empty lists produce null output. Supports customizable separators and null handling. Particularly useful for creating delimited text from dynamic data structures.
Select
columnThe variable-length string list column to join. Examples:
- Tags: [urgent, high-priority, critical]
- Path components: [usr, local, bin]
- Keywords: [python, data-science]
- Categories: [electronics, computers] Lists can have different lengths. Only string elements supported.
Separator
oneofFixed
stringString to insert between list elements. Common separators:
- ', ' for human-readable lists
- ',' for CSV data
- '/' for file paths
- '.' for domain names
- '-' for compound identifiers
- '|' for pipe-separated values
SelectSep
columnColumn containing separators. Each row can use a different separator for flexible string formatting. Must contain valid string separators.
IgnoreNulls
boolControl null value handling:
- true (default): Skip null values in concatenation: [a, null, c] → 'a, c' [x, y, null] → 'x, y'
- false: Return null if list contains any nulls: [a, null, c] → null [x, y, z] → 'x, y, z'
AsColumn
nameName for the new column. If not provided, the system generates a unique name. If AsColumn
matches an existing column, the existing column is replaced. The name should follow valid column naming conventions.