- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi there,
Just a silly question, the code is like: array cnt_ir_a{5} 8 cnt_ir_1-cnt_ir_5;
I am just wondering what does the number "8" mean here, is that the length?
Thanks
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi @ForrestYao,
In addition to the length (in bytes) of each of the five variables it also indicates their type: numeric (for character variables it would be $8 or $1 or ...) -- like in a LENGTH statement.
In certain situations the "default length 8" would not apply and the "8" would be required to ensure length 8. Example:
data have;
array a[3] 4 cnt_ir_1-cnt_ir_3;
run;
data want;
array cnt_ir_a{5} cnt_ir_1-cnt_ir_5;
set have;
run;
Without the length specification in the second ARRAY statement the first three variables inherit their length 4 from dataset HAVE.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
@ForrestYao wrote:
Hi there,
Just a silly question, the code is like: array cnt_ir_a{5} 8 cnt_ir_1-cnt_ir_5;
I am just wondering what does the number "8" mean here, is that the length?
Thanks
Yes the 8 is the length, not needed as would be the default for numeric variables.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi @ForrestYao,
In addition to the length (in bytes) of each of the five variables it also indicates their type: numeric (for character variables it would be $8 or $1 or ...) -- like in a LENGTH statement.
In certain situations the "default length 8" would not apply and the "8" would be required to ensure length 8. Example:
data have;
array a[3] 4 cnt_ir_1-cnt_ir_3;
run;
data want;
array cnt_ir_a{5} cnt_ir_1-cnt_ir_5;
set have;
run;
Without the length specification in the second ARRAY statement the first three variables inherit their length 4 from dataset HAVE.