如何在 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!";
这不是您问题的确切答案,但如果您只想确定 Settings
在 Program
之前 运行 当 Run Process Flow
时,您可以 link他们在一起。
- 右击
Settings
,
- 选择
Link Settings to...
、
- 然后从对话框中选择
Program
。
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.
是否有任何宏命令允许从一个程序调用另一个程序(%run_program()
伪代码)?
计划"Settings":
%let myvar="HELLO WORLD!";
计划"Program":
%run_program(Settings); *Pseudo-code;
%put &myvar; *Should print *Should print "HELLO WORLD!";
这不是您问题的确切答案,但如果您只想确定 Settings
在 Program
之前 运行 当 Run Process Flow
时,您可以 link他们在一起。
- 右击
Settings
, - 选择
Link Settings to...
、 - 然后从对话框中选择
Program
。 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.