是否有任何宏命令允许从另一个程序调用一个程序(%run_program()
伪代码)?
计划“设置”:
%let myvar="HELLO WORLD!";
计划“计划”:
%run_program(Settings); *Pseudo-code;
%put &myvar; *Should print *Should print "HELLO WORLD!";
答案 0 :(得分:4)
这不是您问题的准确答案,但如果您只想确保Settings
Program
Run Process Flow
Settings
之后Link Settings to...
可以将它们链接在一起。
Program
,Run Process FLow
,Hello World
。答案 1 :(得分:2)
我认为您正在寻找%include
功能。
你必须保存'设置'作为服务器上的独立程序,如' /myserver/somefolder/settings.sas'。
然后你可以确保它通过以下方式运行:
...some code
%include ('/myserver/somefolder/settings.sas');
... more code
该程序的运行方式与您复制粘贴' settings.sas'的内容完全相同。进入当前的计划。
答案 2 :(得分:2)
除了处理流程,您还可以创建有序列表。这允许您以多个不同的顺序在单个流程中运行程序(或运行流程的子集)。
您在New中创建它 - >有序列表,然后添加程序,按您想要的顺序上下移动它们。然后,您会看到项目树左侧的有序列表,可以右键单击以运行它(或选择F8)。
在企业指南中没有运行程序的宏命令;如果你想做这样的事情,你可以通过.NET使用自动化。 The SAS Dummy上的Chris Hemedinger有一个很好的article on EG automation。