Hi:
As an alternative, I like the PROC FORMAT approach.
cynthia
[pre]
data rates;
infile datalines;
input year state $ rate comma8. ;
return;
datalines;
2009 MA $150
2009 NH $80
2009 ME $55
2010 MA $155
2010 NH $87
2010 ME $60
;
run;
proc format;
value $rmult '2009MA' = '2'
'2009NH' = '3'
'2009ME' = '4'
'2010MA' = '1.5'
'2010NH' = '2'
'2010ME' = '2.5';
run;
data newrate;
length testval $6;
set rates;
testval = catt(put(year,4.0),state);
mult = input(put(testval,$rmult.),best8.);
newrate = rate * mult;
run;
ods listing;
proc print data=newrate;
run;
[/pre]