@TL93:
Instead of matching one to the other, I'd rather convert both to the same pattern. You're saying that your region variable is "numeric", but it looks like mean that its printed content looks like a number - either integer or decimal - while it is stored as a character data type of length 10 (confirmed by the fact that in your sample the values are left-justified). If so, you can do the same transformation on both sides:
data dataset_1 ;
input region $10. ;
cards ;
100010
100020.01
100020.02
100033
256006
3451678.01
;
run ;
data dataset_2 ;
input region $10. ;
cards ;
10001000
10002001
10002002
10003300
25600600
345167801
;
run ;
%let pattern = 0000000000 ;
data dataset_1_key (drop = _:) ;
set dataset_1 ;
key = "&pattern" ;
_r = compress (region, ".") ;
substr (key, 1, length (_r)) = _r ;
run ;
data dataset_2_key (drop = _:) ;
set dataset_2 ;
key = "&pattern" ;
_r = compress (region, ".") ;
substr (key, 1, length (_r)) = _r ;
run ;
Then you can match by KEY.
Kind regards
Paul D.
... View more