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;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.
Ready to level-up your skills? Choose your own adventure.