Help using Base SAS procedures

use sql to create a random sample

Occasional Contributor
Posts: 7

use sql to create a random sample

I need to create a random sample of 100K from a billion record dataset. I searched online and learned that I can use raununi (x). But when I ran it in SAS Enterprise guide 5.1, it returned an error message "


CLI describe error: [IBM][CLI Driver][DB2/AIX64] SQL0440N No authorized routine named "RANUNI" of type "FUNCTION" having

compatible arguments was found. SQLSTATE=42884


My codes are like:


proc sql;

create table aa as

   select *

from bb

where ranuni(5567) between 0.5 and 0.51


Any advice on how to create a random sample using SQL efficiently?


Valued Guide
Posts: 864

Re: use sql to create a random sample

If you have the right license for it I would use this:

proc surveyselect data=Customers

  method=srs n=15

  seed=1953 out=SampleStrata;

  strata State Type;


If you must use sql all the info you need should be here:

Super User
Super User
Posts: 9,599

Re: use sql to create a random sample

Randuni is a call function, therefore I don't think its available in proc SQL.  You can although use the rand() function:

SAS(R) 9.2 Language Reference: Dictionary, Fourth Edition

Ask a Question
Discussion stats
  • 2 replies
  • 3 in conversation