Not sure what you're asking. Both of the following will satisfy your example:
data want;
set have;
array m $ Code_1-Code_24;
do over m;
if m in ("P0701","P0702","P0703","P0714","P0715","P0716", "P0717","P0718") then b=1;
else if m in ("P0721","P0722","P0723","P0724","P0725","P0726", "P0731","P0732","P0733","P0734","P0735","P0736","P0737","P0738","P0739") then b=2;
else if m in ("P07","P070","P071","P0710","P072","P073","P0730") then b=3;
else if m in ("P0700","P0720") then b=4;
end;
run;
data want;
set have;
array m $ Code_1-Code_24;
do over m;
if "P0701" le m le "P0718" then b=1;
else if "P0721" le m le "P0739" then b=2;
else if m in ("P07","P070","P071","P0710","P072","P073","P0730") then b=3;
else if m in ("P0700","P0720") then b=4;
end;
run;
Art, CEO, AnalystFinder.com
... View more