Hi
I would like to check a field whether all the bytes are having same values.
Eg. I need to check field EMP_ID which is 9bytes
IF EMP_ID in ('111111111','222222222','333333333',...,'999999999') then
message = 'invalid employee id';
how to replicate the above scenario in an optimal way.
Thanks in advance
How about
if compress(emp_id,substr(emp_id,1,1)) ="" then .....;
How about
if compress(emp_id,substr(emp_id,1,1)) ="" then .....;
Thanks 🙂 this works perfectly
You'll probably need some extra treatment for missing source strings.
Here some additional coding options.
data sample;
infile datalines truncover;
input instr $char16.;
flg1 =prxmatch('/^(\d)\1*$/o',strip(instr));
flg2 =prxmatch('/^(\d)\1*$/o',compress(instr));
flg3 = compress(instr,substr(instr,1,1)) eq " ";
datalines;
11111111
2222
11111121
333 333
444 444
555 6 55
777 7 77
aaaaaaa
;
run;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.