SAS程序删除和数据集

gau*_*inc 2 sas dataset

我只是学习sas并看到两个有趣的程序.

  proc Delete data = table;  run;
Run Code Online (Sandbox Code Playgroud)

  proc datasets lib=Libr nolist;
        modify table;
           rename __first = second;
  quit;
  run;
Run Code Online (Sandbox Code Playgroud)

以及关于它们的几个问题:

  1. 为什么有些程序结束一样quitrun

  2. 为什么datasets使用quitrun在一起?(这是退出表的声明吗?)

  3. datasets-procedure用于小任务的最佳建议是什么?(当然不是,但是为了什么?或者不使用它?)

  4. 而且,哪种方法更快:proc deletesql-drop?(速度更快,需要的数据量更多)

TAR*_*man 7

  1. 有些SAS程序结束QUIT,而不是RUN因为它们正在运行Interactive Mode.例如,PROC GLM只要SAS窗口顶部显示PROC GLM正在运行(如果您使用的是Windows版本),就可以指定其他模型语句.

  2. 一些程序员已经习惯了打字QUITRUN一起打字.我不认为这实际上很重要,因为使用该QUIT语句的程序在您输入后立即开始运行.我只使用其中一个.

  3. PROC DELETE是一个不受支持的遗留功能; 它已被正式取代PROC DATASETS,这是处理SAS数据集的指定工具.邮寄名单.

我通常不会发现自己需要删除数据集SAS.因为SAS有效地管理它的内存使用,并且因为RAM现在非常丰富,所以我通常从临时数据集中完成90%的工作,这些数据集是我在会话开始时按需创建的.

  1. 和以前一样,PROC DELETE现在已经弃用了PROC DATASETS.就哪个更快,排除超大数据,我敢打赌它们之间几乎没有什么区别.但是,在处理永久性SAS数据集时,我喜欢使用PROC DATASETS而不是PROC SQL仅仅因为我觉得使用SAS设计的方法更好地操作永久数据集,而不是SQL我认为实现(不是100%).