Please,
How do I re-write this code:
data sample;
Set new;
if var in ('1', '2', '3') then delete;
run;
I need the '1','2','3' to be in a permanent file/table, so that the "var" can reference a column in the file and execute the command (ie I don't want 1,2,3 to show on my SAS code.
Thanks!
SAS(R) 9.2 Language Reference: Dictionary, Fourth Edition, SET Statement, Example 7: Performing a Table Lookup
This is my idea more precisely. M.Johnson is correct: Many ways to skin this cat.
Hi ... maybe get rid of the error messages in the LOG ...
data c;
set b;
set a key=x;
if ^_error_ then output; else _error_ = 0;
run;
I think we also need UNIQUE option for KEY= and NOT FOUND.
I'm sure there are plenty of ways, here is one:
data ref;
input var$;
cards;
1
2
3
;
run;
data table;
input var$;
cards;
1
2
3
4
5
;
run;
proc sql;
create table want as
select *
from table
where var not in (
select var from ref);
Here is yet another way to skin the cat. This one uses SAS' hash object. In my experience, the hash object is versatile for a fairly wide variety of lookups, unless the lookup table is excessively large and/or the lookup keys are very very long character variables.
I have reused PhilC's sample datasets "a" and "b".
data a (index=(x));
x=1;output;
x=2;output;
x=3;output;
stop;
run;
data b;
infile datalines;
input x y;
datalines;
1 12
1 12
3 90
4 90
2 89
5 34
1 89
;
run;
data hash_example(drop=rc);
set b;
length rc 8 found $3;
/* use a SAS hash object to do the lookup; it is fast for most tasks! */
if _n_ = 1 then do;
declare hash t(dataset: 'a');
t.definekey('x');
t.definedone();
end;
rc=T.find();
if rc=0 then found='Y';
else do;
found='N';
put "value x=" x " not found in the lookup table!!";
end;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.