为什么我的 SAS 存储过程不将数据集输出到 E.G.,而日志显示它已创建?
Why doesn't my SAS Stored Process output the data set to E.G., while the log shows it's created?
我正在 SAS EG 中为一些业务合作伙伴创建一个存储过程,但我似乎无法输出我的数据集。
A 'Results' 查看器显示但为空白,我的代码在不使用存储过程时工作得很好,但用户必须手动更改他们正在查找的帐户的宏变量。通过存储过程,我可以减轻用户意外删除某些代码等的情况。
我可以在我的 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 是我希望输出的数据集,以便我的用户可以直接从那里 copy/paste,也许我遗漏了一些明显的东西,但我似乎不能解决这个问题。
版本 7.1
答案非常简单。我不得不使用
PROC PRINT DATA = MYDATA ;
RUN;
在我的存储过程结束时。
但是,我有 SAS Institute 的书籍说您可以使用 proc print 从存储过程而不是 "Results Viewer" 检索 "Output Data" 文件。这个功能一定是在更新的版本中被取消了,或者我做错了什么。
为了解决这个问题,我将我的 SAS 连接到一个 excel 文件,end-user 将从中 运行 程序,这样他们就不需要担心输出是 "Results Viewer".
我正在 SAS EG 中为一些业务合作伙伴创建一个存储过程,但我似乎无法输出我的数据集。
A 'Results' 查看器显示但为空白,我的代码在不使用存储过程时工作得很好,但用户必须手动更改他们正在查找的帐户的宏变量。通过存储过程,我可以减轻用户意外删除某些代码等的情况。
我可以在我的 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 是我希望输出的数据集,以便我的用户可以直接从那里 copy/paste,也许我遗漏了一些明显的东西,但我似乎不能解决这个问题。
版本 7.1
答案非常简单。我不得不使用
PROC PRINT DATA = MYDATA ;
RUN;
在我的存储过程结束时。
但是,我有 SAS Institute 的书籍说您可以使用 proc print 从存储过程而不是 "Results Viewer" 检索 "Output Data" 文件。这个功能一定是在更新的版本中被取消了,或者我做错了什么。
为了解决这个问题,我将我的 SAS 连接到一个 excel 文件,end-user 将从中 运行 程序,这样他们就不需要担心输出是 "Results Viewer".