![]() Chapter Contents |
![]() Previous |
![]() Next |
| Array Reference |
| Valid: | in a DATA step |
| Category: | Information |
| Type: | Declarative |
Syntax |
| array-name { subscript } |
| Tip: | In this book, the subscript is enclosed in braces ( { } ). You can also use brackets ( [ ] ) or parentheses (( )). |
| Tip: | The asterisk can be used with the INPUT and PUT statements, and with some SAS functions. |
| Tip: | This syntax is provided for convenience and is an exception to usual array processing. |
| Restriction: | When you define an array that contains temporary array elements, you cannot reference the array elements with an asterisk. See Using the Asterisk References as a Variable List . |
| Range: | The expression must evaluate to a subscript value when the statement that contains the array reference executes. The expression can also be an integer with a value between the lower and upper bounds of the array, inclusive. See Specifying the Subscript . |
| Details |
![[cautionend]](../common/images/cautend.gif)
array new{*} score1-score4;
do i=1 to dim(new);
new{i}=new{i}+10;
end;
| Comparisons |
| Examples |
In this example, the statements process each element of the array, using the value of variable I as the subscript on the array references for each iteration of the DO loop. If an array element has a value of 99, the IF-THEN statement changes that value to 100.
array days{7} d1-d7;
do i=1 to 7;
if days{i}=99 then days{i}=100;
end;
You can refer to more than one array in a single SAS statement. In this example, you create two arrays, DAYS and HOURS. The statements inside the DO loop substitute the current value of variable I to reference each array element in both arrays.
array days{7} d1-d7;
array hours{7} h1-h7;
do i=1 to 7;
if days{i}=99 then days{i}=100;
hours{i}=days{i}*24;
end;
In this example, the INPUT statement reads in variables A1, A2, and the third element (A3) of the array named ARR1:
array arr1{*} a1-a3;
x=1;
input a1 a2 arr1{x+2};
array cost{10} cost1-cost10;
totcost=sum(of cost {*});
array days{7} d1-d7;
input days {*};
array hours{7} h1-h7;
put hours {*};
| See Also |
| Function:
| |||||
| Statements
| |||||
| Array Processing in SAS Language Reference: Concepts |
![]() Chapter Contents |
![]() Previous |
![]() Next |
![]() Top of Page |
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.