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
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.
@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.
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.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.