SAS中文论坛

标题: 请问高手一个关于file语句的问题 [打印本页]

作者: shiyiming    时间: 2009-11-2 19:34
标题: 请问高手一个关于file语句的问题
代码如下:
filename aa 'd:\';


data b;
length name $200;
input name $;
file aa filevar=name ;
date=date();
n=name;
format date yymmdd10.;
do;
put 'test' @;
put ',' @;
put date ;
end;
cards;
test_file1
test_file2
test_file3
;
run;

本来以为用了filename语句,file会输出到d:\目录下,但是事与愿违,总是输出到C:\Documents and Settings\Administrator目录下,不知道哪里出了问题?怎么让结果输出到d:\目录下呢?多谢了!
作者: shiyiming    时间: 2009-11-2 19:56
标题: Re: 请问高手一个关于file语句的问题
[code:290k2zfu]data b;
        length name $200;
        input name $;
        file aa filevar=name;
        date=date();
        n=name;
        format date yymmdd10.;
        do;
                put 'test' @;
                put ',' @;
                put date ;
        end;
cards;
d:\test_file1.txt
d:\test_file2.txt
d:\test_file3.txt
;[/code:290k2zfu]
作者: shiyiming    时间: 2009-11-2 20:55
标题: Re: 请问高手一个关于file语句的问题
多谢楼上回答!但是我还是不明白,这里为什么file 后面的aa没有用上?难道只能在cards里面写死代码吗?
作者: shiyiming    时间: 2009-11-3 08:41
标题: Re: 请问高手一个关于file语句的问题
1、在file语句使用选项filevar=name后,输出文件的名字由变量name的值决定,此时file-specification只是一个占位符,仅在log中显示
2、拼接字符串呗
[code:160kxyp5]data b;
   length name $200;
   input;
   name='d:\'||strip(_infile_)||'.txt';
   file aa filevar=name;
   date=date();
   n=name;
   format date yymmdd10.;
   do;
      put 'test' @;
      put ',' @;
      put date ;
   end;
cards;
test_file1
test_file2
test_file3
;[/code:160kxyp5]




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2