Help using Base SAS procedures

use sql to create a random sample

Reply
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?

Thanks!

Valued Guide
Posts: 858

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;

run;

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

http://www2.sas.com/proceedings/sugi31/168-31.pdf

Super User
Super User
Posts: 7,401

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
  • 274 views
  • 0 likes
  • 3 in conversation