全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2850 13
2013-09-14
悬赏 100 个论坛币 已解决
请看11楼,大体程序我自己写好了。不过我仍然无法解决的问题是,是否非要将文件程序另存,再infile到dataset中。能否跳过这一步骤,因为我用的UNIX SAS无法另存文件,或者说很麻烦。。谢谢。   
----------  以下为9月14日原帖内容  ---------------
   
请问各位老师,有没这样的经验。这样的程序我在一个大牛的宏中见过,他是将程序头部注释中某行程序抓取。

例如程序中:**** 本程序的开发者:张三 *****;
那就能将该程序中的张三抓成宏变量。

我现在想这样:

*Current program;  
data _null_;
.....
proc sort .....
%macro abc;
proc printto log= 'd:\log.dat' ;
%mend;
*End of the program;

%MyMacro;

我的宏MyMacro打算在这里抓取那个proc printto并且取得后面的参数log= 'd:\log.dat' ;

请问大家,宏里面应该怎么写呢?

我感觉应该是先把目前的Program Editor的内容按截取的方式存到一个数据集中,再用trim加上类似find或者scan的方式进行查找。或者有更好的办法吗?谢谢。





最佳答案

邓贵大 查看完整内容

add above to your code
二维码

扫码加我 拉你入群

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

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

全部回复
2013-9-14 11:01:23
复制代码
add above to your code
二维码

扫码加我 拉你入群

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

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

2013-9-14 13:59:43
我目前想到的一个办法是用

x “program file=‘C:abc.txt replace’”;

将全部程序先暂存到C盘的根目录,

然后再用infile按照“;”导入到dataset,但是我觉得这样做有点傻,而且如果是UNIX系统的话,没有地方让你存的。

二维码

扫码加我 拉你入群

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

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

2013-9-15 01:49:54
????
二维码

扫码加我 拉你入群

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

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

2013-9-15 06:22:08
搞不懂,有没有发错地方~~~~
二维码

扫码加我 拉你入群

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

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

2013-9-15 09:05:23
额,这个还是等高人解释吧
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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