BookmarkSubscribeRSS Feed
Brian_Chee
Calcite | Level 5

Hello,

I am new to SAS and I was given this macro,

%mend create_libraries;

%create_libraries;

%macro Dt_extract(directory);

proc sql noprint;

select count(*)

into:n_names

from  &directory..flname_ann;

quit;

%do z=1 %to &n_names;


data _null_;

a bunch of code

%end;

%mend Dt_extract;

%Dt_extract(temp);

There is data set name flname_ann. Within it is a list of all the names of SAS dataset that I want to go through. So this macro essentially goes through all the dataset, do some modification and towards the end I add in a proc append and end up with a new table with all the modified dataset combined.

Now, within the same folder where I save the flname_ann file, there is another similar dataset with another list of files that I wish to go through. Can someone please explain to me how can I call up the same macro to read this other file, named flname_non?

Thank you very much in advance.

2 REPLIES 2
jwillis
Quartz | Level 8

This is untested but it should work.

%macro Dt_extract(directory=,file=);

proc sql noprint;

select count(*)

into:n_names

from  &directory..&file.;

quit;

%do z=1 %to &n_names;


data _null_;

a bunch of code

%end;

%mend Dt_extract;

%Dt_extract(directory=temp,file=flname_ann);

%Dt_extract(directory=temp,file=flname_non);

Brian_Chee
Calcite | Level 5

It works perfectly! Thank you very much.

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

How to Concatenate Values

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.

SAS Training: Just a Click Away

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

Browse our catalog!

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