楼主: edwardzxf
2879 6

sas 参数个数不定的宏 [推广有奖]

  • 0关注
  • 2粉丝

讲师

26%

还不是VIP/贵宾

-

威望
0
论坛币
222 个
通用积分
0.3603
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
3991 点
帖子
242
精华
0
在线时间
375 小时
注册时间
2010-7-30
最后登录
2021-5-25

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问如何定义一个参数个数不确定的宏。如%macro Test(c1=, c2=,....); 调用的时候可以为:%Test(c1=a,c2=b); 或者%Test(c1=a,c2=b,c3=c); 甚至是%Test(c1=a,c2=b,c3=c,.....); 这样个数任意,有多少个就被识别多少个. 谢谢..

二维码

扫码加我 拉你入群

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

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

关键词:Macro test Est Mac acr 如何

沙发
popobobo 发表于 2011-12-31 10:02:41 |只看作者 |坛友微信交流群
已有 1 人评分学术水平 热心指数 收起 理由
275769263 + 1 + 1 good....

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

使用道具

藤椅
bobguy 发表于 2012-1-8 03:16:55 |只看作者 |坛友微信交流群
You can define more parameters(say 10) in a macro definition and call it with less parameters(say 5).

It is better in practice to define some default values and proper handling rules when some of parameters are missing in the macro call.

使用道具

板凳
edwardzxf 学生认证  发表于 2012-1-9 21:33:01 |只看作者 |坛友微信交流群
bobguy 发表于 2012-1-8 03:16
You can define more parameters(say 10) in a macro definition and call it with less parameters(say 5) ...
Thanks a lot..

使用道具

报纸
webgu 发表于 2012-1-10 22:01:23 |只看作者 |坛友微信交流群
可以试试 parabuff option. 一个例子。
  1. %macro mosales / parmbuff;
  2.   %let listindex=1;
  3.   %do %until (%scan(&syspbuff,&listindex) eq );
  4.     %let repmonth=%scan(&syspbuff,&listindex);
  5.     proc means data=books.ytdsales n sum;
  6.       %if &repmonth ne %then %do;
  7.         title "Sales during month &repmonth";
  8.         where month(datesold)=&repmonth;
  9.       %end;
  10.       %else %do;
  11.         title "Overall Sales";
  12.       %end;
  13.       class section;
  14.       var saleprice;
  15.     run;
  16.     %let listindex=%eval(&listindex+1);
  17.   %end;
  18. %mend;

  19. %mosales(3 5 10) ;
  20. %mosales();
复制代码
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

地板
edwardzxf 学生认证  发表于 2012-1-12 00:36:54 |只看作者 |坛友微信交流群
webgu 发表于 2012-1-10 22:01
可以试试 parabuff option. 一个例子。
谢谢指教。。

使用道具

7
mijiuyuanzi 发表于 2016-2-12 14:41:02 |只看作者 |坛友微信交流群
webgu 发表于 2012-1-10 22:01
可以试试 parabuff option. 一个例子。
请问一下(%scan(&syspbuff,&listindex) eq 这个迭代条件该如何理解呢

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-2 00:20