Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
rido1421
Creator III
Creator III

Generate random numbers in a field

Hi There

I would like to create a field with random numbers within a table ranging from 1- 10

I know the Autonum funtion doesnt work like this, im using it to display what i require...

Load

Transactions:

[Sales Value],

[Sales Quantity],

[Agent Name],

Autonum(10) as [Client Code]

Regards,

1 Solution

Accepted Solutions
alexandros17
Partner - Champion III
Partner - Champion III

rand returns numbers from 0 to 1 so left(rand()*10,1) gives you the result

View solution in original post

11 Replies
alexandros17
Partner - Champion III
Partner - Champion III

use function rand() and multiply the result by 10:

load

...

rand()*10 as myRandom

resident

....

rido1421
Creator III
Creator III
Author

how would i limit it between 1 and 10 though?

alexandros17
Partner - Champion III
Partner - Champion III

rand returns numbers from 0 to 1 so left(rand()*10,1) gives you the result

MK_QSL
MVP
MVP

RAND()*9+1 as NUM2

MarcoWedel

Transactions:

LOAD

     [Sales Value],

     [Sales Quantity],

     [Agent Name],

     Ceil(rand()*11) as [Client Code]

FROM yoursource;

simondachstr
Luminary Alumni
Luminary Alumni

For a better probability distribution (normal distribution) I recommend using:

=ceil(norminv(rand(), mean, stdev))

In your example e.g.

=ceil(norminv(rand(),5,3))

rido1421
Creator III
Creator III
Author

Thank you this is great

MarcoWedel

Hi,

Which version of QlikView did you test the code on, that you marked as correct?

I only get 0 to 9.

Possibly a bug?

thanks

regards

Marco

simondachstr
Luminary Alumni
Luminary Alumni

According to the QV Reference Manual v11 rand() returns a random number between 0 and 1, very possibly excluding 0 and 1.