请教:
1、SAS中,定义宏时%Macro 宏名称(宏参数),请问定义宏参数有什么用?
发现书上有的程序定义了宏参数,有的没有。
%Macro printClass(class);
proc print data=&class;
run;
%mend printclass;
我理解上面这段程序是定义一个宏;书上说“被定义在一个%Macro语句括号内的宏变量称为宏参数,当调用这个宏时,只要给出这些参数的值即可。”
%printclass(sashelp.class)这个是调用宏的命令,括号内的不是宏参数的名称吗?那“参数值”到底是什么?
2、而且,在创建宏参数时,可以指定这些参数为缺省值,请问指定缺省值有什么用?与上文中直接指定宏参数的名称有什么区别?
3、麻烦帮我解释一下如下程序:
data score;
input math phy Eng;
cards;
87 67 87
78 96 84
95 69 65
;
run;
%macro data;
data temp;
set score;
run;
%mend data;
%macro plot;
proc plot;
plot &math*&phy;
run;
%mend plot;
%macro link(math, phy);
%data
%plot
%mend link;
请问红色标注部分,宏参数不应该是一个数据集吗?为什么还能是数据集中的一个变量,目前完全被宏参数给弄晕了,麻烦帮我详细解释一下宏参数的问题。
4、最后一个问题:请问宏参数中的关键字参数和位置参数在使用上有什么区别?
SAS刚入门,菜鸟在此向给位大神跪求详解,谢谢呢,感激不尽!