ARRAYINTERSECT Function

Generates an array containing all elements that appear in multiple input arrays, referenced as column names or array literals.

Basic Usage

Array literal reference example:

derive type:single value:ARRAYINTERSECT([["A","B","C"],["A","D","E"]])

Output: Generates a single array with a single element:

["A"]

Column reference example:

derive type:single value:ARRAYINTERSECT([array1,array2]) as:'intersect_Array'

Output: Generates a new intersect_Array column containing a single array listing all of the elements that appear in both array1 and array2 in order.

Syntax

derive type:single value:ARRAYINTERSECT(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. You can intersect two or more array columns together.

Usage Notes:

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

Examples

Example - Simple intersection 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"]

Transform:

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'

Results:

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

Was this page helpful? Let us know how we did:

Send feedback about...

Google Cloud Dataprep Documentation