## Rewrite the procedure in more efficient way

Solved
Frequent Contributor
Posts: 110

# Rewrite the procedure in more efficient way

Is there a quick and more efficient way to rewrite the procedure below?

data a;set a;

if var_ctg_1=1 | var_1=1 then var1=1;

if var_ctg_2=1 | var_2=1 then var2=1;

if var_ctg_3=1 | var_3=1 then var3=1;

if var_ctg_4=1 | var_4=1 then var4=1;

if var_ctg_5=1 | var_5=1 then var5=1;

run;

Thanks a lot.

Lizi

Accepted Solutions
Solution
‎05-14-2015 01:40 PM
Super User
Posts: 23,771

## Re: Rewrite the procedure in more efficient way

If you only have 5 not a huge improvement in terms of code.

data a2;

set a;

array ctg(5) var_ctg_1 - var_ctg_5;

array va(5) var_1 - var_5;

array var(5) var1-var5 (5*0);

do i=1 to 5;

if ctg(i)=1 or va(i)=1 then var(i)=1;

end;

run;

All Replies
Solution
‎05-14-2015 01:40 PM
Super User
Posts: 23,771

## Re: Rewrite the procedure in more efficient way

If you only have 5 not a huge improvement in terms of code.

data a2;

set a;

array ctg(5) var_ctg_1 - var_ctg_5;

array va(5) var_1 - var_5;

array var(5) var1-var5 (5*0);

do i=1 to 5;

if ctg(i)=1 or va(i)=1 then var(i)=1;

end;

run;

Frequent Contributor
Posts: 110