我在SAS 9.1.3上(在服务器上),在数组上进行了宏循环以提供一组计算量大的建模步骤,这些步骤附加到表中。我想知道是否有可能为数组的每个元素设置运行的最大时间。这样一来,任何运行时间超过3分钟的元素都将被跳过,并输入下一个项目。
举例来说,我正在使用带有by语句的proc nlin,以在大型数据集上为每个类构建单独的模型,而一个类却无法收敛;我如何跳过那堂课?
利基的要求,希望有人可以帮助!
我在这里只能想到的唯一方法是重写代码,以使其在一个或多个SAS / CONNECT会话中按组与其余组分开运行,让父级会话在设置的超时后杀死每个,然后重新组合尚存的输出。
正如Dom和Joe所指出的那样,这并不是一项琐碎的任务,但是如果您足够热衷于学习SAS的这一方面,则有可能。此页面是开始进行此类事情的好地方:
http://support.sas.com/rnd/scalability/tricks/connect.html
我能够将那里和其他地方的示例用作简单并行处理框架的基础(巧合的是,在SAS 9.1.3中!),但是您需要考虑许多细节。如果您沿这条路线走,可让您大致了解各种冒险活动:
call execute
...滚动我自己的库)可以写一篇关于这个主题的(冗长的)SUGI论文,而且我相信如果您四处看看,有很多这样的文章。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句