要在csv数据集

时间:2018-04-26 07:11:53

标签: macros sas

我有一个文本文件"宏定义"它有两个SAS宏定义。我想导入它们并应用于HTWT.csv数据集。该数据集有20个观察值和6个变量ID,性别,年龄,身高,体重,年份。除性别变量外,所有都是数字。我有下面的代码导入并将txt文件中的宏应用到csv文件。我收到运行此代码的错误消息,如下所示。

outcsvv是在SAS中导入的HTWT数据集的名称。

%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 "("

我得到的第二个错误可能是由于文本文件中的宏定义如下所示。

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


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

请告诉我你如何解决它的建议。谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

您可以设置自己的宏Autocall Library。只需拆分文件;每个文件保存一个宏。 more

或者您可以将此代码添加到程序的开头:

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

这将搜索此目录中的宏。