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.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.