DATA Step, Macro, Functions and more

resolve macro inside quotes

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 93
Accepted Solution

resolve macro inside quotes

Hi all,

I want to import over 10 Excel files into SAS, and they have the same file name other than their serial number, like data1, data2, data3, ... data15. How can I use macro to import them to SAS?

%macro imp_data();

%do i=1%to 15;

proc import out=data&i datafile = "C:\data\data&i.xls";

run;

%end;

%mend;

%imp_data();

run;

Thanks a lot.


Accepted Solutions
Solution
‎01-28-2015 05:00 PM
Super User
Posts: 10,497

Re: resolve macro inside quotes

To provide a little as to why 2 dots. The Windows naming convention of file.ext uses a . to separate the name and the extension.

The SAS macro language uses the . after a macro variable to combine text. So if file= ABC then &file.ext yields ABCext from the macro processor. The second . is part of the text you want appended so you need to add one.

View solution in original post


All Replies
Solution
‎01-28-2015 05:00 PM
Super User
Posts: 10,497

Re: resolve macro inside quotes

To provide a little as to why 2 dots. The Windows naming convention of file.ext uses a . to separate the name and the extension.

The SAS macro language uses the . after a macro variable to combine text. So if file= ABC then &file.ext yields ABCext from the macro processor. The second . is part of the text you want appended so you need to add one.

Frequent Contributor
Posts: 93

Re: resolve macro inside quotes

Thanks a lot, Ballard!

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 208 views
  • 0 likes
  • 2 in conversation