如何在 SAS Enterprise Guide 中调用另一个宏程序?

How to call one macro program from another in SAS Enterprise Guide?

是否有任何宏命令允许从一个程序调用另一个程序(%run_program() 伪代码)?

计划"Settings":

%let myvar="HELLO WORLD!";

计划"Program":

%run_program(Settings); *Pseudo-code;
%put &myvar; *Should print *Should print "HELLO WORLD!";

这不是您问题的确切答案,但如果您只想确定 SettingsProgram 之前 运行 当 Run Process Flow 时,您可以 link他们在一起。

  1. 右击Settings,
  2. 选择Link Settings to...
  3. 然后从对话框中选择 Program
  4. Run Process FLow 并看到 Hello World 被打印在日志中。

我认为您正在寻找 %include 函数。

您必须将 'Settings' 作为独立程序保存在您的服务器上,例如“/myserver/somefolder/settings.sas”。

然后你可以确保它是 运行 通过:

...some code
%include ('/myserver/somefolder/settings.sas');
... more code

如果您将 'settings.sas' 的内容复制粘贴到当前程序中,该程序将 运行 完全相同。

除了流程外,您还可以创建有序列表。这使您可以 运行 以多个不同的顺序(或 运行 流程的子集)在单个流程中编写程序。

您可以在新建 -> 有序列表中创建它,然后向其中添加程序,并按照您想要的顺序移动它们 up/down。然后您会在项目树的左侧看到有序列表,可以右键单击 运行 它(或 select 然后 F8)。

企业指南中没有运行程序的宏命令;如果你想做那样的事情,你可以通过 .NET 使用自动化。克里斯·赫梅丁格 The SAS Dummy has a good article on EG automation.