The RAND function generates a random real number between 0 and 1. The function accepts an optional integer parameter, which causes the same set of random numbers to be generated with each job execution.

Optionally, you can insert an integer as a parameter.

Column references or functions returning Integer values are not supported. 

Example:

rand()

Output: For each row, generate a random number between 0 and 1 in the new random function.

Example with seed value:

rand(2)

Output: For each row, generate a random number between 0 and 1 in the new random function. The generated random set of random values are consistent between job executions and are, in part, governed by the seed value 2.

There are no arguments for this function.

rand([int_value])


ArgumentRequired?Data TypeDescription
int_valueNintegerInteger literal

int_value

Optional Integer literal that is used to generate random numbers. Use of a seed value ensures consistency of output between job executions.

Required?Data TypeExample Value
NoInteger literal14

Example - Random values

In the following example, the random column is generated by the RAND function:

sourcerandom
A

0.516845703365675

B

0.71118736300207

C

0.758686066027118

D

0.640146255791255

Example - Type check functions

The RAND function is typically used to introduce randomness of some kind in your data. In the following example, it is used to perform sampling within your wider dataset. 
Source:

You want to extract a random sample of 20% of your set of orders for further study:

OrderIdQtyProdId
100130Widgets
100210Big Widgets
10035Big Widgets
100440Widgets
100580Tiny Widgets
100620Widgets
1007100Tiny Widgets

Transformation:

You can use the following transform to generate a random integer from one to 10:

You can now use the following transform to keep only the rows that contain random values that are in the top 20%, where the value is 9 or 10:

Results:

NOTE: Since the results are randomized, your results might vary.

OrderIdQtyProdIdrandom
100580Tiny Widgets9
1007100Tiny Widgets10