If I want to write code that changes the value of 2 or more fields if another field has a certain value i normally write
If Field1 = 'X' then do:
Field2 = 'Y';
Field3 = 'Z';
end;
Instead of using If-do is there a way you can write it like if Field1 = 'X' then Field2 = 'Y' and Field3 = 'Z'??
Not that I know of. Your if syntax above looks fine to me, and reads far better than a long string version such as you request, e.g. I can instantly see that there are two variables being manipulated and what is assigned simply by observing the indented text, it would really bug me if I started seeing code like:
if a=b then a=2 and b=5 and c=5 and d=3 and e=e and...;
"and" is a logical operator and not a tool to string statements together.
If you are inclined to write unreadable spaghetti code, "if field1='X' then do;field2='Y';field3='Z';end;" in one line will do nicely.
/sarcasm
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.