我正在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
答案 0 :(得分:1)
答案非常简单。我不得不使用
PROC PRINT DATA = MYDATA ;
RUN;
在我的存储过程结束时。
但是,我有SAS研究所的书籍,说你可以检索一个"输出数据"来自存储过程的文件而不是"结果查看器"使用proc打印。此功能必须已用于较新版本,或者我做错了。
要解决此问题,我将SAS连接到excel文件,最终用户将运行该程序,以便他们不必担心输出结果"结果观察者"