Page tree

Release 7.1.2


Contents:

   

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.

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:

arraycross[["A","B"],["1","2","3"]])


Output:
Returns a single array:

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

Column reference example:

arraycross(array1,array2,array3)

Output: Returns an array containing a single array listing all combinations of elements between array1, array2 , and array3.

Syntax and Arguments

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

Examples


Tip: For additional examples, see Common Tasks.

Example - Simple cross example

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

Source:

Code formatting has been applied to improve legibility.

ItemArrayAArrayB
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 New formula
Parameter: Formula type Single row formula
Parameter: Formula ARRAYCONCAT([Letters,Numerals])
Parameter: New column name 'concat2'

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

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

Transformation Name New formula
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:

ItemArrayAArrayBconcat2intersection2
Item1

["A","B","C"]

 

["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:

Itemcross2
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:

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

This page has no comments.