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.
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.