## Test for certain numeric values

Occasional Contributor
Posts: 9

# Test for certain numeric values

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

Contributor
Posts: 30

## Re: Test for certain numeric values

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;

Super User
Posts: 9,599

## Re: Test for certain numeric values

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.

Super User
Posts: 10,770

## Re: Test for certain numeric values

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;

Discussion stats
• 3 replies
• 195 views
• 0 likes
• 4 in conversation