K Bh
K Bh

Reputation: 385

SAS macros to import and apply macro from text file on csv dataset

I have a text file "Macro definition" which has two SAS macros definition. I would like to import them and apply on HTWT.csv data set. This dataset has 20 observations and 6 variables ID, Gender, Age,Height,Weight,Year. All are numeric except gender variable. I have the code below to import and apply the macros from the txt file to csv file. I am getting an error message on running this code as below.

outcsvv is the name of HTWT dataset imported in SAS.

%include "C:\Users\komal\Desktop\Advanced SAS\Macro definition.txt";
%contents_of(outcsvv)
%print_data(outcsvv)
Warning:Apparent Invocation of macro "contents_of" not resolved
Error: Unable to complete processing of INCLUDE. Expected a filename or fileref
Expected a statement keyword: found "("

The second error I am getting is probably due to the macro definition(s) from the text file which are as follows.

%macro contents_of(name);
proc contents data=&name;
run;
%mend;


%macro print_data(name);
proc print data=&name;
run;
%mend;

Please let me know your advice on how to solve it. Thank you for your time.

Upvotes: 2

Views: 476

Answers (1)

momo1644
momo1644

Reputation: 1804

You can setup your own macro Autocall Library. Just split your file; save one macro per-file. more.

or you can add this code to the begining of your program:

options insert=(sasautos="/C:\Users\komal\Desktop\Advanced SAS") ;

this will search for the macros in this directory.

Upvotes: 1

Related Questions