BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
art297
Opal | Level 21

One of your variables was called "i" and I, without thinking, had suggested using "i" in the do loop.  As such, the loop was re-assigning the value of that variable (i.e., the eighth variable).

R_A_G_
Calcite | Level 5

Just curious to know why iii fixed the problem

thanks

R_A_G_
Calcite | Level 5

thanks didn't see the reply, please ignore the last question

Tom
Super User Tom
Super User

Why not just skip the PROC IMPORT?  Save the XLS files as a CSV file and then just read it with a data step where you get to define the names?

data want ;

  infile 'myfile.csv' dsd dlm=',' truncover lrecl=30000;

  input people col1-col116;

run;

Ksharp
Super User

Or a faster way.

Proc import out=data datafile="C:\temp\x.xls"  dbms=xls replace;
  getnames=no;
run;

data _null_;
 set sashelp.vcolumn(keep=libname memname name where=(libname='WORK' and memname='DATA')) end=last ;
 if _n_ eq 1 then call execute('proc datasets library=work nolist;modify data; rename a=people ');
  else call execute(cats(name,'=col',_n_-1));
 if last then call execute(';quit;');
run;

Ksharp

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 19 replies
  • 14890 views
  • 1 like
  • 4 in conversation