Date: Thu, 8 Oct 2009 10:07:09 -0500
Reply-To: Joe Matise <snoopy369@GMAIL.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Joe Matise <snoopy369@GMAIL.COM>
Subject: Re: Extracting Variables from very Large SAS Dataset - Use Proc
Dataset?
In-Reply-To: <haji90$8gt$1@news.eternal-september.org>
Content-Type: text/plain; charset=ISO-8859-1
Don't know about the documentation, but at least for 9.1.3 and above that's
not true. I've had a few projects with more than that [unfortunately] due
to client requirements. I've had up to 60k, about, not sure if I've had
over 66k or not.
-Joe
On Wed, Oct 7, 2009 at 9:23 PM, Lou <lpogoda@hotmail.com> wrote:
> "Claus Yeh" <phoebe.caulfield42@gmail.com> wrote in message
> news:8bd4021c-4ba3-4f51-92a8-5b3bc23a6aa2@x6g2000prc.googlegroups.com...
> > Dear all,
> >
> > I have a very large SAS dataset - 500,000 variables and 4000
> > observations.
>
> Huh? According to the documentation, the maximum number of variables in a
> single SAS data set under Windows is 32,767. I know Windows is not the
> be-all and end-all, but what platform are you on?
>
> > I want to create smaller datasets that contains about 1000 to 10,000
> > variables of the original 500,000 variable dataset.
> >
> > I used data step to do this but it was very very slow (I need to
> > create multiple smaller steps).
> >
> > ie. data small;
> > set large;
> > keep var1-var1000;
> > run;
>
> Well, you don't necessarily need multiple steps - you could try something
> like
>
> data small1 (keep = var1 - va1000)
> small2 (keep = var1001 - var2000)
> ....;
> set large;
> run;
>
> You might also try the BUFFNO and BUFSIZE options. Increasing the number
> and/or size of the buffers allocated for processing SAS datasets can speed
> up execution (at the expense of consuming more memory).
>
> > Is there a way to do it in Proc Dataset that can output the smaller
> > dataset much quicker? If there are other efficient ways, please let
> > me know too.
> >
> > thank you so much,
> > claus
>
|