## Help with array not working (want to divide a series of variables by 12)

Solved
Frequent Contributor
Posts: 79

# Help with array not working (want to divide a series of variables by 12)

I have bw1-bw1000 and i want to make a new version of each that is divided by 12

Made a data step and put this array, but it is not working:

do i=1 to 1000;

newbw[i]=bw[i]/12;
end;

Any ideas why?

Accepted Solutions
Solution
‎02-15-2017 10:41 PM
Super User
Posts: 8,081

## Re: Help with array not working (want to divide a series of variables by 12)

You didn't include the whole data step so it is hard to tell.

``````data want ;
set have ;
array newbw (1000) ;
array bw (1000) ;
do i=1 to 1000;
newbw[i]=bw[i]/12;
end;
run;``````

The code above assumes that you have 1,000 numeric variables named BW1 to BW1000 and you want to create 1000 new variables named NEWBW1 to NEWBW1000.

All Replies
Solution
‎02-15-2017 10:41 PM
Super User
Posts: 8,081

## Re: Help with array not working (want to divide a series of variables by 12)

You didn't include the whole data step so it is hard to tell.

``````data want ;
set have ;
array newbw (1000) ;
array bw (1000) ;
do i=1 to 1000;
newbw[i]=bw[i]/12;
end;
run;``````

The code above assumes that you have 1,000 numeric variables named BW1 to BW1000 and you want to create 1000 new variables named NEWBW1 to NEWBW1000.

Frequent Contributor
Posts: 79

## Re: Help with array not working (want to divide a series of variables by 12)

OK thanks, was not aware I had to define both bw and newbw

Super User
Posts: 13,517

## Re: Help with array not working (want to divide a series of variables by 12)

You need to get into the habit of reading the log.

Your code would have generated something like:

ERROR: Undeclared array referenced: newbw.

ERROR: Variable newbw has not been declared as an array.

Telling you exactly what the issue was.

☑ This topic is solved.