Page tree


Generates a nested array containing the cross-product of all elements in two or more arrays.
  • Input arrays can be referenced as column names or array literals.
  • If Array1 has M elements and Array2 has N elements, the generated array has M X N elements.

NOTE: Be careful applying this function across columns of large arrays. A limit is automatically applied on large arrays to prevent overloading the browser. Avoid apply the ARRAYCROSS transform to very wide columns.

Basic Usage

Array literal reference example:

derive type:single value:ARRAYCROSS[["A","B"],["1","2","3"]])

Output: Generates a single array:


Column reference example:

derive type:single value:ARRAYCROSS(array1,array2,array3) as:'cross_Array'

Output: Generates a new cross_Array column containing a single array listing all combinations of elements between array1array2, and array3.

Syntax and Arguments

derive type:single value:ARRAYCROSS(array_ref1,array_ref2)

ArgumentRequired?Data TypeDescription
array_ref1Ystring or arrayName of first column or first array literal to apply to the function
array_ref2Ystring or arrayName 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 literal or name of the array column whose intersection you want to derive.

Usage Notes:

Required?Data TypeExample Value
YesArray literal or column referencemyArray1, myArray2


Tip: For additional examples, see Common Tasks.

Example - Simple cross example

This simple example illustrates how the following functions operate on nested data.


Code formatting has been applied to improve legibility.



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.

derive type:single value:ARRAYCONCAT([Letters,Numerals]) as:'concat2'

derive type:single value:ARRAYINTERSECT([Letters,Numerals]) as:'intersection2'

derive type:single value:ARRAYCROSS([Letters,Numerals]) as:'cross2'

derive type:single value:ARRAYUNIQUE([Letters,Numerals]) as:'unique2'


Column set 1:




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

Column set 2:

Item3[["D","4"],["D","5"],["D","6"],["E","4"],["E","5"],["E","6"], ["F","4"],["F","5"],["F","6"]]["D","E","F","4","5","6"]


This page has no comments.