Hii, can any one plz tell how can we retrieve a single random observation(row) from a data set?
you can use:
set input(obs=1, firstobs=) ; /* change firstobs to any row number you want */
Hi
You can use some options on the SET statement to achieve this, see example below. Please be aware when using the POINT= option, you also need a STOP statement, as otherwise the DATA Step will loop. Have a look in the doc at the description of the POINT= and NOBS= options. The variable name used in the POINT= option is not written to the output dataset, this is why I use two variables.
data want;
getObs = ceil( ranuni(0) * numObs);
_getObs = getObs;
set sashelp.cars point=_getObs nobs=numObs;
output;
stop;
run;
Also look at Proc SURVEYSELECT for more sophisticated ways to get a random sample from a SAS data set
Bruno
proc surveyselect data=sashelp.class out=want sampsize=1; run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Get started using SAS Studio to write, run and debug your SAS programs.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.