Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

NOTE:  Trifacta Wrangler is a free product with limitations on its features. Some features in the documentation do not apply to this product edition. See Product Limitations.

   

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:

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

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 array1, array2 , 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

Examples

Tip: For additional examples, see Common Tasks.

Example - Simple cross example

This example illustrates how to use the nested functions.

Functions:

ItemDescription
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 cross-product 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.

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"]

See Also for EXAMPLE - Nested Functions:

  • No labels

This page has no comments.