我有一个SAS代码,可以为我的计算创建很多中间表。事情是,工作完成后我并不关心这张桌子,我只关心决赛的结果。
但是,每次运行此代码时,SAS都会将所有生成的表添加到我的流程中,将其变成一个巨大的混乱(我在这里谈论的是40多个中间表)。
有没有办法告诉SAS不要在流程中添加一些表?或者至少告诉它不要添加任何表格?我正在使用SAS Enterprise Guide 4.1
提前致谢
答案 0 :(得分:7)
在SAS 9.1.x和9.2.x(适用于Windows)下,可以通过在数据集名称前加上“_TO”来抑制SAS客户端环境中数据集的显示。因此,在您的代码和/或任务中,您可以调用所有中间数据集_TO<DataSetName>
,它们不会使您的流程流混乱。但它们仍然存在,可以在代码和任务中引用。
如果你这样做并且你正在使用任务,请注意,如果你看不到数据集来选择它,那么弄清楚如何使用任务中的输出数据作为另一个任务的输入可能会很棘手。如果您对此有疑问,请对此帖发表评论,我们可以解决此问题。
请注意,此“_TO”前缀是一个未记录的“隐藏”功能,将在9.3中弃用 - 有关详细信息,请参阅this博客。
答案 1 :(得分:6)
如果将“要添加到项目的最大输出数据集数”选项(在“结果常规”下)设置为零,则不会将任何数据集添加到项目中,但它们仍可用于查看服务器 - &gt;库视图(它们将在您请求它们时添加到流中)。
答案 2 :(得分:5)
我知道这个问题现在是一年半了,但是如果您正在使用可以在获得最终结果后删除的中间表,SAS EG有一个内置宏可用于删除这些表:
%_eg_conditional_dropds([table1], [table2], ... ,[table-n]);