This works. I believe there is a slicker, elegant way to value checkit. data have; ssn = 123456789; output; ssn = 111116789; output; ssn = 123455555; output; ssn = 123333339; output; run; data want(drop = i) ; set have ; length ssn_char ssn_rept_chars $9; ssn_char = ssn; do i=1 to 5 until (flag=1); checkit = substr(ssn_char, i, 1)||substr(ssn_char, i, 1)||substr(ssn_char, i, 1)|| substr(ssn_char, i, 1)||substr(ssn_char, i, 1) ; if checkit = substr(ssn_char, i, 1)||substr(ssn_char, i+1, 1)|| substr(ssn_char, i+2, 1)||substr(ssn_char, i+3, 1)||substr(ssn_char, i+4, 1) then do; flag=1; put i= checkit= flag=; ssn_rept_chars = ssn_char; end; end; run;
... View more