ARRAYUNIQUE Function
Generates an array of all unique elements among one or more arrays.
Inputs are column names or array literals.
If an element appears twice in one or more arrays, it is listed once in the output array.
Wrangle vs. SQL: This function is part of Wrangle, a proprietary data transformation language. Wrangle is not SQL. For more information, see Wrangle Language.
Basic Usage
Array literal reference example:
arrayunique([["A","B"],["A","C"]])
Output: Returns a single array:
["A","B","C"]
Singlecolumn reference example:
arrayunique([array1])
Output: Returns a single array of all unique elements in array1
.
Multicolumn reference example:
arrayunique([array1,array2])
Output: Returns a single array listing all unique elements in array1
and array2
.
Syntax and Arguments
arrayunique(array_ref1,array_ref2)
Argument  Required?  Data Type  Description 

array_ref1  Y  string or array  Name of first column or first array literal to apply to the function 
array_ref2  N  string or array  Name of second column or second array literal to apply to the function 
For more information on syntax standards, see Language Documentation Syntax Notes.
array_ref1, array_ref2
Array literals or names of the array columns whose unique elements you want to derive.
Usage Notes:
Required?  Data Type  Example Value 

Yes (at least one)  Array literal or column reference 

Examples
Tip
For additional examples, see Common Tasks.
Example  Simple unique example
This example illustrates how to use the nested functions.
Functions:
Item  Description 

ARRAYCONCAT Function  Combines the elements of one array with another, listing all elements of the first array before listing all elements of the second array. 
ARRAYINTERSECT Function  Generates an array containing all elements that appear in multiple input arrays, referenced as column names or array literals. 
ARRAYCROSS Function  Generates a nested array containing the crossproduct of all elements in two or more arrays. 
ARRAYUNIQUE Function  Generates an array of all unique elements among one or more arrays. 
Source:
Code formatting has been applied to improve legibility.
Item  ArrayA  ArrayB 

Item1  ["A","B","C"]  ["1","2","3"] 
Item2  ["A","B"]  ["A","B","C"] 
Item3  ["D","E","F"]  ["4","5","6"] 
Transformation:
You can apply the following transforms in the following order. Note that the column names must be different from the transform name, which is a reserved word.
Transformation Name 


Parameter: Formula type  Single row formula 
Parameter: Formula  ARRAYCONCAT([Letters,Numerals]) 
Parameter: New column name  'concat2' 
Transformation Name 


Parameter: Formula type  Single row formula 
Parameter: Formula  ARRAYINTERSECT([Letters,Numerals]) 
Parameter: New column name  'intersection2' 
Transformation Name 


Parameter: Formula type  Single row formula 
Parameter: Formula  ARRAYCROSS([Letters,Numerals]) 
Parameter: New column name  'cross2' 
Transformation Name 


Parameter: Formula type  Single row formula 
Parameter: Formula  ARRAYUNIQUE([Letters,Numerals]) 
Parameter: New column name  'unique2' 
Results:
For display purposes, the results table has been broken down into three separate sets of columns.
Column set 1:
Item  ArrayA  ArrayB  concat2  intersection2 

Item1 
 ["1","2","3"]  ["A","B","C","1","2","3"] 

Item2  ["A","B"]  ["A","B","C"]  ["A","B","A","B","C"]  ["A","B"] 
Item3  ["D","E","F"]  ["4","5","6"]  ["D","E","F","4","5","6"]  [ ] 
Column set 2:
Item  cross2 

Item1  [["A","1"],["A","2"],["A","3"],["B","1"],["B","2"],["B","3"],["C","1"],["C","2"],["C","3"]] 
Item2  [["A","A"],["A","B"],["A","C"],["B","A"],["B","B"],["B","C"]] 
Item3  [["D","4"],["D","5"],["D","6"],["E","4"],["E","5"],["E","6"], ["F","4"],["F","5"],["F","6"]] 
Column set 3:
Item  unique2 

Item1  ["A","B","C","1","2","3"] 
Item2  ["A","B","C"] 
Item3  ["D","E","F","4","5","6"] 