使用libname从SAS打印CSV文件
我正在尝试从使用使用libname从SAS打印CSV文件,csv,sas,proc,proc-sql,Csv,Sas,Proc,Proc Sql,我正在尝试从使用PROC SQL创建的表中将数据从SAS导出到CSV文件中。(测试数据是使用procsqlselect语句创建的) 我尝试了以下代码: LIBNAME libout "C:\Users\Outbox"; proc export data=test_data dbms=csv replace outfile="&libout.\test_data.csv"; run; 运行此代码时,会显示以下错误: ERROR: Physical file does not exist,
PROC SQL
创建的表中将数据从SAS导出到CSV文件中。(测试数据是使用procsqlselect
语句创建的)
我尝试了以下代码:
LIBNAME libout "C:\Users\Outbox";
proc export data=test_data dbms=csv replace outfile="&libout.\test_data.csv";
run;
运行此代码时,会显示以下错误:
ERROR: Physical file does not exist, C:\windows\system32\&libout.\test_data.csv.
我知道我可以使用字符串直接为outfile
指定路径,但我正在尝试使用LIBNAME
作为另一个系统中以后的应用程序。
提前感谢。如果要存储SAS数据集,您可以使用libname。在这种情况下,您希望保存一个csv文件,因此只需要一个宏:
%let libout=“C:\Users\Outbox”
libname
用于SAS数据集<代码>文件名用于文件
filename fileout "C:\Users\Outbox\test_data.csv";
proc export data=test_data dbms=csv replace outfile=fileout;
run;
如果只想指定目录,也可以使用宏变量,类似于多余的答案。但不要在上面加引号
%let outdir = c:\users\outbox;
proc export data=test_data dbms=csv replace outfile="&outdir.\test_data.csv";
run;
在任何一种情况下,您都可以在一个位置指定文件名或宏变量,然后在另一个位置使用它,它们不必是连续的,就像libnames一样。工作得很好!谢谢