在我的 SAS 程序完成后,我想删除几个数据集。我正在使用这个语句:
proc datasets lib=temp;
delete xtemp2&sysparm trades&sysparm tickers&sysparm;
quit;
run;
在哪里
&sysparm
计算为数字,temp
计算为 libname
。但是,我在日志文件中收到以下错误:
142 delete xtemp2&sysparm trades&sysparm tickers&sysparm;
______
180
ERROR 180-322: Statement is not valid or it is used out of proper order.
有人知道这个问题吗?
编辑:
Here is some more of the log file to address the answer:
NOTE: "OUT_CSV" file was successfully created.
NOTE: PROCEDURE EXPORT used (Total process time):
real time 0.27 seconds
cpu time 0.12 seconds
142 delete xtemp2&sysparm trades&sysparm tickers&sysparm;
______
180
ERROR 180-322: Statement is not valid or it is used out of proper order.
下面是 proc 之前的代码:
proc export data=temp.xtemp2&sysparm outfile=out_csv dbms=csv replace;
run;
proc datasets lib=temp;
delete xtemp2&sysparm trades&sysparm tickers&sysparm;
quit;
run;
最佳答案
除了不需要最后一次 RUN 之外,您的代码没有任何明显错误(对于 PROC DATASETS 来说,QUIT 就足够了)。我使用这些参数创建了数据集,并且提供的代码运行良好。当您在 proc 语句之前有一些东西导致 proc 语句无法编译时,通常会出现该错误。例如:
*
proc datasets lib=temp;
delete xtemp2&sysparm trades&sysparm tickers&sysparm;
quit;
会导致您提供的错误消息,以及几乎所有其他未正确结束的错误消息(尽管大多数其他此类错误会导致前面的语句出现第二条错误消息)。
关于dataset - 删除 SAS 数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12372271/