Hi Experts,
I am looking ways to pick a random number in milli seconds from a range of 2 minutes and allow the SAS process to sleep for that period:
I am currently using call sleep function, for SAS to sleep for a fixed amount of time.
Can any one please help!
how about
CALL SLEEP(rand(uniform)*120000, .001);
Thanks for your response:
Small change the works perfectly:
CALL SLEEP(rand("uniform")*120000, .001);
To learn how to generate random numbers in SAS, see How to generate random numbers in SAS - The DO Loop
You must choose a minimum and maximum value for the sleep range. You said "a range of 2 minutes," so I am going to assume that you mean that you want the sleep interval to be between 0 milliseconds and 120,000 milliseconds:
t = 120000 * rand("Uniform"); /* in range [0, 120,000] */
call sleep( t, 0.001); /* time in milliseconds */
An alternative way is to specify the sleep interval in seonds:
t1 = 120 * rand("Uniform"); /* in range [0, 120] */
call sleep( t, 1); /* time in seconds */
Thanks Rick!
Working perfectly.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.