首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >批次SAS作业

批次SAS作业
EN

Stack Overflow用户
提问于 2016-12-01 16:27:46
回答 2查看 337关注 0票数 0

我正在寻找一个简单的解决方案,它将启用批处理SAS程序,它将直接从cmd运行,例如,"C:\Program Files\SASHome2\SASFoundation\9.4\sas.exe" -CONFIG "C:\Program Files\SASHome2\SASFoundation\9.4\nls\en\sasv9.cfg" -sysin "C:\Users\Documents\sas\Run_Program.sas" -LOG "C:\Users\Documents\sas\f2.log"

但是,问题是我有两个SAS文件-一个表示,另一个是程序(配置文件加载特定的数据集、全局变量等)。

有一个简单的解决方案,我如何能够自动化程序运行进程从cmd使用当前的文件结构。

其他考虑过的想法:我考虑创建新的(动态) sas文件batch.sas及其内容%inc "config.sas"; %inc "program.sas",其中"program.sas“是为每次运行提供的动态参数。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-01 16:32:54

如果我理解正确的话-你想在config.sas文件之前运行program.sas文件吗?您建议通过%inc这样做是一个很好的建议,另一种方法是在启动时调用config.sas文件,方法是使用它作为一个自动执行程序,例如:

代码语言:javascript
运行
复制
"C:\Program Files\SASHome2\SASFoundation\9.4\sas.exe"  
  -CONFIG "C:\Program Files\SASHome2\SASFoundation\9.4\nls\en\sasv9.cfg" 
  -sysin "C:\Users\Documents\sas\Run_Program.sas" 
  -LOG  "C:\Users\Documents\sas\f2.log" 
  -autoexec "C:\Users\Documents\sas\config.sas"

当SAS会话初始化时,autoexec文件只运行一次。如果需要,您的config.sas文件可以从调用任何相关/现有的autoexec开始。

票数 1
EN

Stack Overflow用户

发布于 2016-12-01 17:13:19

autoexec解决方案是一个合理的解决方案,但我认为,除非您总是(在运行的每个SAS程序/会话中)加载完全相同的配置,否则,最终正确的方法就是c程序几十年来使用头文件所做的事情。

如果您有一个加载特定程序的数据集的config.sas,该程序应该在顶部包含%include config.sas。然后你就把程序分批处理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40915652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档