为什么我的SAS存储过程没有将数据集输出到E.G.,而日志显示它已创建?

时间:2017-02-03 16:26:04

标签: sas enterprise-guide

我正在SAS EG中为某些业务合作伙伴创建存储过程,但我似乎无法将数据集输出。

“结果”查看器显示但是空白,并且我的代码在不使用存储过程时工作得很好,但用户必须手动更改他们要查找的帐户的宏变量。使用存储过程,我可以减少用户意外删除某些代码等。

我可以在我的SAS日志中看到输出数据集是使用变量和观察创建的,但它不会像典型的SAS EG作业那样自动弹出。我还有一些关于存储过程的同事收到的文档,在我看来,成功执行后,SAS数据集应该自动输出。

一想法:如果日志中有警告,存储过程是否会输出数据集?我有警告,因为我将数据集附加到未创建的基本文件,因此我的数字变量的长度会发生变化。

这是日志中的一个片段..

    NOTE: The address space has used a maximum of 5504K below the line and 222716K above the line.


104        
105        data tran_last;
106             retain TRAN_DT MRCH_NAME MRCH_CITY AMT_TRAN DEB_CRD_IND;
107        set tran_sorted;
108        output;
109        run;

                                                                                          The SAS System

NOTE: There were 164 observations read from the data set WORK.TRAN_SORTED.
NOTE: The data set WORK.TRAN_LAST has 164 observations and 5 variables.
NOTE: The DATA statement used 0.00 CPU seconds and 51817K.

NOTE: The address space has used a maximum of 5504K below the line and 222716K above the line.

数据集WORK.TRAN_LAST是我希望输出的数据集,以便我的用户可以直接从那里复制/粘贴,也许我遗漏了一些明显的东西,但我似乎无法解决这个问题。

版本7.1

enter image description here

1 个答案:

答案 0 :(得分:1)

答案非常简单。我不得不使用

PROC PRINT DATA = MYDATA ;
RUN;

在我的存储过程结束时。

但是,我有SAS研究所的书籍,说你可以检索一个"输出数据"来自存储过程的文件而不是"结果查看器"使用proc打印。此功能必须已用于较新版本,或者我做错了。

要解决此问题,我将SAS连接到excel文件,最终用户将运行该程序,以便他们不必担心输出结果"结果观察者"