New SAS user.
I'm learning to use/write macros right now. I'm trying to loop through the variable ZONE in a data set "zonelist", as well as count the number of observations in the data set. Here's my code:
data _null_;
set zonelist;
call symput ('zone'||_n_, zone);
call symput ('numzones', _n_);
run;
I expected this to create the variables 'zone1', 'zone2' etc to call them in a do loop. This is a reasonable way to do this, right? Anyway, SAS seems to be adding whitespace to my variable names. I get this error when I run it:
ERROR: Symbolic variable name ZONE 1 must contain only
letters, digits, and underscores. NOTE: Invalid argument to function
SYMPUT('zone '[12 of 16 characters shown],'100 '[12 of
16 characters shown]) at line 567 column 10. zone=100 _ERROR_=1 _N_=1
And of course I get the same error for each observation in my dataset. It makes sense why the ZONE value from the table would have a bunch of whitespace (the variable is $16 I think), but why is it adding all of that space to my variable name? What am I missing here?