5

我正在编写程序供其他用户在基于 SAS 9.3 的企业指南中运行。它将各种信息位记录到表中。有什么办法可以阻止这个表出现在流程中?

注意 这几乎都是使用“用户编写的代码”步骤完成的。不幸的是,菜单中的设置(见下面 vasja 的回答)似乎不会影响 UWC 步骤。

(我见过这个:告诉 SAS 不要在流程中添加新生成的表,但我使用的是 9.3,所以它不起作用!)

4

2 回答 2

2

一位同事 (twitter.com/binarytrain) 想出了一个解决方案。

在 9.3 中,如果在代码步骤结束时仍然分配了表所在的库,则表总是添加到 EG 项目中 (1)。因此,在上面的问题中,诀窍是在代码步骤结束时清除 libname。

这可以进一步用于“劝阻”——而不是阻止——用户干预临时表。

  • 在 &sasworklocation 中创建一个名为 _work 的文件夹
  • 将其注册为库
  • 在这个新库中保存任何临时表
  • 在代码步骤结束时清除此库

此时临时表无法访问,无需运行 libname 语句

  • 再次需要表时重新注册库。

(1) 即使它是使用不同的名称分配的,所以这不适用于预先分配的库。

于 2014-01-03T17:01:48.240 回答
1

在 EG 5.1 中:转到工具 - 选项,选择结果常规:取消选择自动将输出添加到项目树。

于 2012-06-19T20:40:29.513 回答