7

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

程序“设置”:

%let myvar="HELLO WORLD!";

程序“程序”:

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

概述

4

3 回答 3

4

这不是您问题的确切答案,但如果您只想确保在您可以将它们链接在一起Settings之前运行它。ProgramRun Process Flow

  1. 右键Settings
  2. 选择Link Settings to...
  3. Program从对话框中选择。
  4. Run Process FLow并查看Hello World日志中打印的内容。
于 2015-04-17T11:47:52.267 回答
2

我认为您正在寻找该%include功能。

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

然后您可以确保它通过以下方式运行:

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

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

于 2015-04-17T12:56:49.943 回答
2

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

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

企业指南中没有运行程序的宏命令;如果你想做这样的事情,你可以通过 .NET 使用自动化。The SAS Dummy上的 Chris Hemedinger有一篇关于 EG 自动化的好文章。

于 2015-04-17T14:08:20.853 回答