10-13-2014 10:21 AM
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';
Instead of using If-do is there a way you can write it like if Field1 = 'X' then Field2 = 'Y' and Field3 = 'Z'??
10-13-2014 10:49 AM
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...;
10-13-2014 10:56 AM
"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.