I have two Char fields with a length of 10, named "Acct" and "Derived".
I need to test the "Acct" field, and if the value has a length of 6, and is a numeric value between 100,000 & 999,999, then copy the value to the "Derived" field.
How to code the Update statement?
Sample data looks like this:
Acct
==========
1
100
1000A
201000 ==> Copy
210000A
312456 ==> Copy
A400010
I'm a newbie just learning, so please be specific in your response.i
Hi ,
You can try the below approch ;
data want ;
set have ;
if notdigit(acct) = 0 and lenght(acct) = 6 and 100000 =<acct >=999999 then derived = acct ;
run;
Just to note, you don't actually need to check the length there:
if notdigit(acct) = 0 and 100000 =<acct >=999999 then derived = acct ;
As anything not between the given upper and lower includes those with a length ne 6.
data have;
input acct $;
cards;
1
100
1000A
201000
210000A
312456
A400010
;
run;
data want ;
set have;
length derived $ 10;
if 100000<=input(acct,?? best32.)<=999999 then derived=acct;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.