The RAND
function generates a random real number between 0 and 1. This function uses no parameters. Generated values are of Decimal type and have fifteen digits of precision after the decimal point. If you want to see all digits in the generated value, you might need to apply a different number format. See NUMFORMAT Function.
Basic Usage
derive type:single value: RAND() as:'random'
Output: For each row, generate a random number between 0 and 1 in the new random
function.
Syntax and Arguments
There are no arguments for this function.
Tip: For additional examples, see Common Tasks.
Examples
Example - Random values
In the following example, the source is simply the source
column, and the random
column is generated by the RAND
function:
derive type:single value:RAND() as:'random'
source | random |
---|---|
A |
|
B |
|
C |
|
D |
|
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.
Tip: Keep in mind that for larger datasets the application displays only a sample of them. This method of randomization is applied when the panel is applied to the full dataset during job execution.
Source:
You want to extract a random sample of 20% of your set of orders for further study:
OrderId | Qty | ProdId |
---|---|---|
1001 | 30 | Widgets |
1002 | 10 | Big Widgets |
1003 | 5 | Big Widgets |
1004 | 40 | Widgets |
1005 | 80 | Tiny Widgets |
1006 | 20 | Widgets |
1007 | 100 | Tiny Widgets |
Transform:
You can use the following transform to generate a random integer from one to 10:
derive type:single value:round(RAND() * 10) as:'random'
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
:
keep row:(random > 8)
Results:
NOTE: Since the results are randomized, your results might vary.
OrderId | Qty | ProdId | random |
---|---|---|---|
1005 | 80 | Tiny Widgets | 9 |
1007 | 100 | Tiny Widgets | 10 |
This page has no comments.