楼主: Joanna_Qiao
13041 3

[问答] 请教:SAS中,定义宏时%Macro 宏名称(宏参数),请问定义宏参数有什么用? [推广有奖]

  • 0关注
  • 0粉丝

初中生

19%

还不是VIP/贵宾

-

威望
0
论坛币
109 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
299 点
帖子
6
精华
0
在线时间
16 小时
注册时间
2016-10-23
最后登录
2017-3-8

楼主
Joanna_Qiao 发表于 2016-11-18 20:49:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教:
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刚入门,菜鸟在此向给位大神跪求详解,谢谢呢,感激不尽!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Macro CRO acr Mac SASHELP 程序 而且

沙发
Strive、 发表于 2016-11-18 21:22:13
宏参数可以是数据集,也可以是变量名,也可以是一串字符串。其实储存的时候是以字符串的形式储存的。
宏参数是用于方便以后你要更改程序,举个例子,你的宏参数是2000,计算的是2000年的总收入,下次你想算2001年的了,那么只需要在调用的函数上更改宏参数即可。
建议你看下基础的SAS入门书。如《The SAS little book》
已有 1 人评分论坛币 热心指数 收起 理由
admin_kefu + 20 + 2 热心帮助其他会员

总评分: 论坛币 + 20  热心指数 + 2   查看全部评分

藤椅
lovexialulu 发表于 2016-11-18 21:47:15
宏参 通俗的讲就是 文本 ,既不是数值型也不是字符型

板凳
wanlixing1208 发表于 2017-5-17 17:12:27
我倒是对
proc plot;
plot &math*&phy;
这里不懂
为啥可以直接用proc 加plot 这是画图了么

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 12:50