楼主: qyj8888
1681 1

[原创博文] 【求助】SAS中如何实现通过txt,文档调用宏 [推广有奖]

  • 0关注
  • 0粉丝

博士生

67%

还不是VIP/贵宾

-

威望
0
论坛币
999 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1168 点
帖子
182
精华
0
在线时间
406 小时
注册时间
2008-10-20
最后登录
2022-6-8

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
RT,例如:

%macro a(x);
data a;
   set resdat.lstkinfo;
   if year(lstdt)<&x;   /* Lstdt为股票上市日期 */
data y%eval(&x)_list;
   set a;
   a = '%a(';
   c = ');';
   file "Alistedbefore%str(&x).txt"; /* 注意这里不能用单引号 */
   put a $ stkcd $ c $;
%mend a;

可以向下面这种方式调用宏
%a(1995);
run;   


但如果年份太多而且不规律的话,能否通过将年份数据存在txt,文档中调用,如何实现?

谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:如何实现 txt ResDat ResDa Macro 如何

回帖推荐

xiaosanmao 发表于2楼  查看完整内容

%macro a(x); 。。。。 %mend a; %include "e:\pp.txt"; run; 其中pp.txt里面的 格式为 %a(1995) ,至于从1995到%a(1995),可以参照下面生成需要的txt文件 data m; input x; cards; 1995 /*这里的年份采集看你自己了,应该是某个数据集某列*/ ;run; data b; set m; a=compress('%a('||x||')'); file "E:\pp.txt"; put a ; proc print data=b; run;

本帖被以下文库推荐

沙发
xiaosanmao 发表于 2010-2-1 12:42:05 |只看作者 |坛友微信交流群
%macro a(x);
。。。。
%mend a;
%include "e:\pp.txt";
run;

其中pp.txt里面的 格式为 %a(1995) ,至于从1995到%a(1995),可以参照下面生成需要的txt文件

data m;
input x;
cards;
1995           /*这里的年份采集看你自己了,应该是某个数据集某列*/
;run;
data b;
set m;
a=compress('%a('||x||')');
file "E:\pp.txt";
put a ;
proc print data=b;
run;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

使用道具

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

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

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

GMT+8, 2024-4-28 12:53