This SPSS tutorial explains how to generate random number in SPSS (decimal and whole number).

You may also want to read:

Excel VBA generate non-duplicated random number

Assign unique random number using Excel

## SPSS generate random number (decimal number)

Assume that we have 10 data from 1 to 10.

Navigate to Transform > Compute Variable

On the left hand side, type a name for the **Target Variable**, which is the new variable that contains the random number to be generated. In this example, I call the variable **random_number**.

On the right hand side, type the formula **RV.UNIFORM(1,10)** in the **Numeric Expression** box. You can read the description of RV.UNIFORM Function, which returns a random number with specific range where the random number is a uniform distribution (simply speaking, all values have equal probability).

Click on OK

Go back to Data View, a new variable called random_number is created, which contains 10 random numbers (because we have 10 data in the data sheet). Although by default the random numbers have 2 decimal places, you can expand to maximum 16 decimal places in **Variable View**. The random numbers should not be duplicated.

## SPSS generate random number (integer / whole number)

In the last example, we generate random numbers with decimal places, in this section we will demonstrate how to generate random integer.

Navigate to the **Compute Variable** box again, this time we create another variable called **random_number2** and use function **TRUNC** to cut the decimal places.

Go to Data View, the numbers in random_number2 variable are all integers.

You can hardly see the upper limit 10 after using TRUNC because you need the random number to be exactly 10, there is no value between 10 and 11 to be truncated as 10. You can consider adding 1 to the upper limit as

**=TRUNC(RV.UNIFORM(1,11))**

But there is still a chance you will see 11.

It you are just trying to randomly select some sample data, consider using Select Cases instead.