Why are you setting so many variables to the same value?
What do you want to do when the condition is not true?
Why do want to use SQL?
If you are willing to make new variables that are coded as 0 or 1 instead of 1 or unknown like your current code you could take advantage of the fact that SAS evaluates boolean expressions to 1 for TRUE and 0 for FALSE.
proc sql;
create table x as
select *
, (X=1) as a
, (X=1) as b
, (X=1) as c
from y
;
quit;
... View more