全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4408 8
2008-12-05
任务要求:<br/>有100个TXT文件,文件命不规范,都是60开头(上海股票代码),但格式完全相同,单个文件读入sas没有问题。<br/>现在想通过宏导入,每个TXT文件对应生成一个数据集。<br/>初步设想:<br/>1,在该文件目录下键入dir *.txt /b >ex.txt,将100个txt文件名导入文本文件all.txt中<br/>2.编写宏及程序<br/> %macro a(stockcode);<br/>data a&stockcode;<br/>  infile "d:\Level-2 and Topview\0710\All_2007-10-08\Stock_details\&stockcode..txt" firstobs=2;<br/>  input code $ cjtime price vol amount;<br/>  informat cjtime  time.;<br/>  format cjtime time.;<br/>run;<br/>%mend a;<br/>%include "d:\Level-2 and Topview\0710\All_2007-10-08\Stock_details\all.txt";<br/>run;<br/>3.运行错误提示:<br/> 351  %macro a(stockcode);<br/>352  data a&stockcode;<br/>353    infile "d:\Level-2 and Topview\0710\All_2007-10-08\Stock_details\&stockcode..txt" firstobs=2;<br/>354    input code $ cjtime price vol amount;<br/>355    informat cjtime  time.;<br/>356    format cjtime time.;<br/>357  run;<br/>358  %mend a;<br/>359  %include "d:\Level-2 and Topview\0710\All_2007-10-08\Stock_details\all.txt";<br/>360 +600000.txt<br/>     -------<br/>     180<br/>ERROR 180-322: 语句无效或未按正确顺序使用。<br/><br/>461  run;<br/>本人初步估计出在%include这语句上,如果我把最后一句改成%a(600050);就可以运行了,但这个参数要自己输入,就失去宏的意义了。<br/>%include语句是通过all.txt文件来传递参数的吗?此帖参考了论坛中的:http://www.pinggu.org/html/2008-3/14/296220.html<br/>all.txt是不是就是宏文本文件呢?是否我还差个生产宏文本文件的过程,如果是,如何编写呢?<br/>恳请高手指教!


[此贴子已经被作者于2008-12-5 20:44:05编辑过]

二维码

扫码加我 拉你入群

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

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

全部回复
2008-12-7 03:32:00

[此贴子已经被作者于2008-12-24 20:32:44编辑过]

二维码

扫码加我 拉你入群

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

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

2008-12-7 11:01:00
很受启发。如果变量名是中文的,在dos下如何用命令将其批处理改为英文,谢谢!
假设数据是:

601

价格 数量

1 2

602

价格 数量

3 4

二维码

扫码加我 拉你入群

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

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

2008-12-7 14:47:00

[此贴子已经被作者于2008-12-24 20:33:01编辑过]

二维码

扫码加我 拉你入群

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

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

2008-12-7 15:50:00
呵呵,谢谢了,我自己后来调试通过了,是宏文本文件all.txt的问题,我自己在文本编辑器里面把他改了,调试通过!

二维码

扫码加我 拉你入群

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

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

2008-12-7 22:33:00
%macro a(f);
data &f.;
infile "e:\\&f..txt" firstobs=2;  /*就是忽略第一行的变量*/
filename="&f.";
input x y;
run;data obj;
set obj &f.;
run;
%mend a;
%include "e:\\a.txt";
run;

&f.被解析后应该是一个数字,如何可以做SAS数据集名?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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