2015-02-11 102 views
1

通常,我必须为各种需求编写单独的SAS程序,其中最终输出为EXCEL文件。为了可重复性,我经常将SAS代码复制并粘贴到单独的EXCEL表单中 - 因此,当出现类似请求或需要修改时,很容易回到原点。使SAS将代码本身导出到EXCEL表中

现在我想知道是否存在一种方法来使SAS以自动方式将当前代码导出到EXCEL表单中。如果SAS代码已经保存为硬盘上的物理文件(因此它不仅存在于工作存储器中),那么这样的任务可能更容易 - 因此,让我们假设事实确实如此。

回答

2

如果程序已保存为文件,则可以将其读入数据集(与读取其他文件的方式相同)并将该数据集导出到Excel。这取决于你做这两件事,SAS给你很多选择。

至于告诉哪个程序正在执行,它随着你如何运行事情而变化。如果您正在使用DM SAS和增强的编辑器,你可以使用此代码:

%let filename= %sysget(SAS_EXECFILEPATH)\%sysget(SAS_EXECFILENAME); 
%put &=filename; 

现在&filename.保持当前程序的路径和文件名。

如果您批量运行,则必须使用环境变量SYSIN。其他模式有不同的方法,并不总是可能的(例如,如果你在一个EG项目的嵌入式程序中)。有关更多详细信息,请参见this doc page