Hello
I am now trying to use length command with several hundreds of variables.
Since the number of variables are too many, I want to express variables in a short and efficient way.
Following is the code I designed.
length name $ 100 secid $ 100 (time1-204) ($ 100);
I know something is wrong on the last part of the code, but can't figure out how to fix it.
Please give me some help.
Close. Do like this
length name $ 100 secid $ 100 time1-time204 $ 100;
@PeterClemmensen wrote:
Close. Do like this
length name $ 100 secid $ 100 time1-time204 $ 100;
Beat me by 15 seconds 🙂
Try
length name $ 100 secid $ 100 time1-time204 $ 100;
Thanks for the quick reply!
But this is what I got with no outcome..
Do you know what is another error that needs to be fixed?
You probably do not see any ERRORS in your log, only NOTES that the variables are uninitialized. You probably need an INPUT Statement after your INFILE Statement.
A SAS log is pure text. To post it here, just use copy/paste into a window opened with the {i} button of the main Rich Text posting window.
The same goes for SAS code, the "little running man icon" will even imitate most of the coloring fo the SAS Enhanced Editor.
And yes, you're missing an input statement.
specifying the length of 100 bytes does not require to be done one by one in a length statement for each variable or variable list:
data w1;
set sashelp.class(drop=name);
length name secid time1-time204 $ 100;
run;
proc contents data=w1;
run;
"with several hundreds of variables." - this sounds bad already. Does the data come from Excel by any chance? Observations not columns is the way forward.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.