How do I re-write this code:
if var in ('1', '2', '3') then delete;
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.
This is my idea more precisely. M.Johnson is correct: Many ways to skin this cat.
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));
input x y;
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');
if rc=0 then found='Y';
put "value x=" x " not found in the lookup table!!";
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.