【问题标题】:SAS Enterprise Guide - process dependence and parallel executionSAS Enterprise Guide - 过程依赖和并行执行
【发布时间】:2016-04-02 05:48:48
【问题描述】:

我正在从事 SAS EG (7.1) 中的一个项目,该项目涉及流程依赖性和并行执行,如下所示:

我有以下问题:

  1. 有没有办法以编程方式检索或设置进程之间的关系(即 process_C --> program_D)?复杂项目的维护变得越来越困难。理想情况下,我希望能够从外部表重新创建进程之间的链接。
  2. 我使用“从 运行分支”选项启动整个过程。假设我们只有 2 个处理器可用。有没有办法设置process_A,B,C之间的执行顺序?整个流程的关键路径是“begin -> process_C -> process_D -> end”,因此我们希望它以 process_C 开头,以确保最短的执行时间。

提前谢谢你。

【问题讨论】:

  • 如果您还没有 - 我也鼓励您在 community.sas.com 上提问,因为那里的一些人(例如 Chris H)可能比这里的任何人都知道;我们真的只有几个 EG 用户。

标签: sas enterprise-guide


【解决方案1】:

对于 1,如果您的意思是定义明确的 SAS 编程方法,我认为答案是“否”。无论如何,至少对于您在上面提供的相对有限的信息和示例。元数据服务器可能会带来更多可能 - 这不是我的专业领域。

可以至少通过 Powershell 或 VBScript 使用脚本来完成其中的一些工作。 EG 的 API 相当开放,使用起来并不难。我不会建议我对此的理解也有限,但似乎应该可以按照您的建议进行操作,尽管可能并不容易简单


第二点:

首先,如果 EG 没有关于如何处理特定选择的其他信息,它通常会“从上到下”运行。所以把 c->d 放在 a/b 上面,先处理它。

其次,您也许可以使用条件处理。应该有一个宏变量告诉你你有多少CPU(我的机器上的&SYSNCPU,希望在其他版本上也一样)。您可以使用该值有条件地链接到 A,然后是 B,而不是同时链接到 A+B。不过,我不确定以灵活的方式做到这一点有多容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多