setUnion
Description
Returns the union of two arrays, producing a new array that contains all unique elements from both.
-
Both arrays are treated as sets:
-
Duplicates are removed
-
Order is not preserved in the result
-
nullis treated as an empty set -
Supported element types include
string,bool,number,interval,timestamp,regexp, andenum.
Syntax
Like many functions in DataPrime, setUnion supports two notations, function and method. These interchangeable forms allow flexibility in how you structure expressions.
- Function notation
- Method notation
setUnion(array1: array<T>, array2: array<T>): array<T>
(array1: array<T>).setUnion(array2: array<T>): array<T>
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
array1 | array<T> | true | The first array to combine |
array2 | array<T> | true | The second array to combine |
Example
Use case: Combine processing and loading jobs into a unique set
Suppose you have arrays of processing and loading jobs. Consider the following input:
{
"processing_jobs_waiting": ["job1", "job2", "job3", "job4"],
"loading_jobs_waiting": ["job1", "job2", "job3"]
}
By applying setUnion, you can merge the two arrays and keep only unique jobs.
Example query
- Function notation
- Method notation
create all_jobs from setUnion(processing_jobs_waiting, loading_jobs_waiting)
create all_jobs from processing_jobs_waiting.setUnion(loading_jobs_waiting)
Example output
The result will include a new field all_jobs containing unique values from both arrays:
{
"processing_jobs_waiting": ["job1", "job2", "job3"],
"loading_jobs_waiting": ["job1", "job2", "job3"],
"all_jobs": ["job1", "job2", "job3", "job4"]
}