Date: Mon, 2 Apr 2007 11:39:10 -0400
Reply-To: Richard Reeves <reeves@STUDENTCLEARINGHOUSE.ORG>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Richard Reeves <reeves@STUDENTCLEARINGHOUSE.ORG>
Subject: Re: How to filter sas data sets into separate sas data sets
Content-Type: text/plain; charset="US-ASCII"
Something like this is the old way. You could use a proc sql if you
have a new enough version. Increase your buffersize and if you have
enough memory you may get it into a hash routine.
MERGE small (IN=A OBS=500) big ;
From: SAS(r) Discussion [mailto:SAS-L@listserv.vt.edu] On Behalf Of
Sent: Monday, April 02, 2007 10:53 AM
Subject: How to filter sas data sets into separate sas data sets
This is my failing point in coding SAS. The use of 2 separate SAS data
sets to create a third.
I can do this in a program with nested Do loops. But with SAS it is
just different enough I seem to be unable to see the coding technique.
Sas Data set 1 contains 1 variable and 1000 obs.
Sas Data set 2 contains 15 variables and 500000 obs.
I need to filter off the data in Sas data set 2 based on Sas data set 1
Node1, Node2 and Node3 must match VAR1 exactly. I have all the code I
need to do this except for splitting the data into a separate SAS data
Sas Data set 1: Var1 Length 7 Char
Sas Data set 2: Node1 Length 1-8 Char Node2 Length 1-8 Char Node3
Length 1-8 Char
Data Newlist (KEEP=node1 node2 node3 ... var15)
Otherds (Keep=node1 node2 node3 .... var15) ;
Set SASDS1 ; *Contains 1 var 1000 obs ;
Set SASDS2 ; *Contains 15 vars and 500,000 obs ;
If Node1 = VAR1 or Node2 = VAR1 or Node3 = Var1 then Output Newlist ;
Else Output Otherds ;
I have tried putting in two SET statements, but I seem to reduce the
information dramatically. I have been reviewing the coding examples on
the SAS Wesbsite as well as in the archives. I am just so crunched for
time that I must lean on you for assistance.
I know this should be easy, I am just not seeing.
Thanks for the assistance