This page explains how to use the set_union function in APL.
Use the set_union
function in APL to combine two dynamic arrays into one, returning a new array that includes all distinct elements from both. The order of elements in the result is not guaranteed and may differ from the original input arrays.
You can use set_union
when you need to merge two arrays and eliminate duplicates. It is especially useful in scenarios where you need to perform set-based logic, such as comparing user activity across multiple sources, correlating IPs from different datasets, or combining traces or log attributes from different events.
For users of other query languages
If you come from other query languages, this section explains how to adjust your existing queries to achieve the same results in APL.
Splunk SPL users
Splunk SPL users
APL’s set_union
works similarly to using mvappend
followed by mvdedup
in SPL. While SPL stores multivalue fields and uses field-based manipulation, APL focuses on dynamic arrays. You need to explicitly apply set logic in APL using functions like set_union
.
ANSI SQL users
ANSI SQL users
Standard SQL doesn’t support arrays as first-class types or set functions like set_union
. However, conceptually, set_union
behaves like applying UNION
between two subqueries that return one column each, followed by a DISTINCT
.
Usage
Syntax
Parameters
Name | Type | Description |
---|---|---|
Array1 | dynamic | The first array to merge. |
Array2 | dynamic | The second array to merge. |
Returns
A dynamic array that contains the distinct elements of both input arrays.
Example
Use set_union
to return the union of two arrays.
Query
Output
_time | together |
---|---|
May 22, 11:42:52 | [1, 2, 3, 4, 5 ] |
List of related functions
- set_difference: Returns elements in the first array that are not in the second. Use it to find exclusions.
- set_has_element: Tests whether a set contains a specific value. Prefer it when you only need a Boolean result.
- set_union: Returns the union of two or more sets. Use it when you need any element that appears in at least one set instead of every set.