全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1834 1
2010-02-01
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,文档中调用,如何实现?

谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
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;
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群