
input date mmddyy10. time $ open high low close volume amount
format date mmddyy10.
run
另一处错误:set ifa(where=(date='05/04/2010'))
在第一个数据步data dst.ifa中,定义的数据集名为dst.ifa,在set语句中,缺省的引用数据集为work.ifa.而且语句date='05/04/2010'非法,必须将日期转换成SAS的日期格式,即data='04/MAY/2011'd;.
更正后的程序如下:
data dst.ifa
infile 'C:\Documents and Settings\CY\桌面\a.txt' dlm=','
input date mmddyy10. time $ open high low close volume amount
format date mmddyy10.
run
data dst.ifa
set dst.ifa(where=(date='04/MAY/2010'd))
run
程序中可能存在中文输入法下的标点符号,如果不能运行,可以在这方面着手检查. 最后建议将第二个数据集命名为dst.ifb,否则第二个数据步生成的数据集将覆盖原始数据集.
SAS中有个专门的系统选项用来设置
(大小写均可):
option validvarname = v7|any|upcase
若不用此选项语句,默认为v7。
即系统使用一般意义下的命名规则;
若选择any,就表示可以使用特殊字符命名,当然也包括中文命名;
选择upcase表示所有数据集中最终变量都采用大写
(尽管在data步中采用的是小写)。
例子:
options validvarname=any
data x
input 姓名$ 数学成绩 语文成绩
cards
张三 78 86
李四 82 60
王五 88 96
run
运行以后就能看到中文也能当变量名了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)