I am attempting to create a random sample using proc sql. I found this article from the SAS website that uses the function RANUNI ( the following paper ) however when I try to run this I get an error saying RANUNI "is not a recognized build-in function name. "
Am I using it incorrectly or is there another function I can use for this?
here is my code using SAS EG to try and get a 10% sample:
proc sql;
connect to sqlsvrasfrprod(datasrc=frproduser=&uidpassword="&pawd" readbuff=3000);
create table sample as
select * from connection to frprod(
select distinct
a.startdate, a.notifydate, a.id, a.ctype, a.type, a.longdesc,
b.account,
c.ctypid
from comp.dbo.comp a
join comp.dbo.accounts b
on a.id=b.id
join comp.dbo.ban c
on left(b.account,6)=c.bannumber and ctypid between 2 and 5
where ranuni(1234) between .45 and .55;
);
quit;
Use a datastep? Extract data from the database, then run a proc surveryselect over that to get your sample:
Use a datastep? Extract data from the database, then run a proc surveryselect over that to get your sample:
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.