使用%include运行SAS脚本

使用%include运行SAS脚本,sas,Sas,我是SAS的新手,来自SQL,所以我要处理他们之间的差异 我有一个SAS程序“Master.SAS”,除其他外,它运行如下内容: %include "c:\script1.sas"; %include "c:\script2.sas"; %include "c:\script3.sas"; 问题是,如果我选择所有这些并运行它,它是按顺序运行还是并行运行? 例如,如果script2使用在script1中加载的表,它是否会成功运行? 这个例子在我测试时听起来很明显,但是如果script1计算一个变

我是SAS的新手,来自SQL,所以我要处理他们之间的差异

我有一个SAS程序“Master.SAS”,除其他外,它运行如下内容:

%include "c:\script1.sas";
%include "c:\script2.sas";
%include "c:\script3.sas";
问题是,如果我选择所有这些并运行它,它是按顺序运行还是并行运行? 例如,如果script2使用在script1中加载的表,它是否会成功运行? 这个例子在我测试时听起来很明显,但是如果script1计算一个变量,script2会计算该变量,或者使用它在运行时发现的变量(因为,例如,script2在script1之前运行过)? 只是为了澄清,我需要SAS按顺序一个接一个地运行它们

在SQL中,存在“转到”以分离批处理,即:

CREATE TABLE XXXXX
GO

SELECT * FROM XXXXX
GO
如果有人试图在没有退出的情况下运行该脚本,SQL将并行运行它们,并在第二个脚本上生成一个错误,告知“表XXXXX不存在”

我是否需要SAS中类似的东西,或者在上一个过程完成后,SAS只需下一个过程


提前谢谢

%include
将按顺序运行。SAS将运行第一个
%include
,就像它只是代码中的行一样,然后点击第二个并执行相同的操作,以此类推

SAS相当于
GO
的是
RUN
,虽然在大多数情况下
RUN
实际上不必包括在内(尽管这被认为是一种良好的做法)。SAS不会仅仅因为您忽略了run而以并行模式运行,但它会告诉SAS继续运行提供给它的代码。但是,这不适用于
PROC SQL
;不支持运行组处理,并立即执行由
终止的每个语句


有办法使它并行运行;例如,演示如何使用RSUBMIT执行此操作。企业指南允许并行处理程序(但不是
%include
s在一个程序中),如果您告诉它(但不是默认情况下)。

%include
将按顺序运行。SAS将运行第一个
%include
,就像它只是代码中的行一样,然后点击第二个并执行相同的操作,以此类推

SAS相当于
GO
的是
RUN
,虽然在大多数情况下
RUN
实际上不必包括在内(尽管这被认为是一种良好的做法)。SAS不会仅仅因为您忽略了run而以并行模式运行,但它会告诉SAS继续运行提供给它的代码。但是,这不适用于
PROC SQL
;不支持运行组处理,并立即执行由
终止的每个语句


有办法使它并行运行;例如,演示如何使用RSUBMIT执行此操作。企业指南允许并行处理程序(但不是
%include
s在一个程序中),如果您告诉它(但不是默认情况下)。

%include将按顺序运行。如果第一个%include中的代码出现错误,则程序将停止并不会处理其他行。

%include将按顺序运行。如果第一个%include中的代码出现错误,则程序将停止并不会处理其他行。

%include将始终按顺序运行


如果在script1中创建了某个变量,那么您可以在script2中使用相同的变量,但是如果script1依赖于在script2中创建的某个变量,它将出错。

%include将始终按顺序运行


如果在脚本1中创建了某个变量,则可以在脚本2中使用相同的变量,但如果脚本1依赖于在脚本2中创建的某个变量,则会出错。

文件将按顺序运行。1.2.3.如果您不想并行运行,这里有一些详细信息:这些文件将按顺序运行。1.2.3.如果您不想同时进行,请参阅以下详细信息: