DukeLuke
DukeLuke

Reputation: 315

Why doesn't my SAS Stored Process output the data set to E.G., while the log shows it's created?

I'm creating a stored process in SAS EG for some business partners, but I can't seem to get my dataset to output.

A 'Results' viewer shows up but is blank, and my code works perfectly fine when not using a stored process, but the user has to manually change the macro variable for the account they are looking for. With a stored process I can mitigate users accidentally deleting some code, etc.

I can see in my SAS log that the output dataset is being created with variables and observations, but it doesn't automatically pop up like a typical SAS EG job would. I also have some documentation I received from a co-worker around stored processes, and it seems to me that after successful execution a SAS dataset should automatically output.

One thought: Will a stored process output a dataset if there are warnings in the log? I have warnings presented because I am appending datasets to a base file that isn't created, so the lengths of my numeric variables change.

Here's a snippet from the log..

    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.

The data set WORK.TRAN_LAST is the dataset I wish to be output so that my user can directly copy/paste from there, maybe I'm missing something apparent, but I can't seem to figure this out.

Version 7.1

enter image description here

Upvotes: 1

Views: 1359

Answers (1)

DukeLuke
DukeLuke

Reputation: 315

The answer was extremely simple. I had to use

PROC PRINT DATA = MYDATA ;
RUN;

at the end of my stored procedure.

However, I have books from the SAS Institute that say you can retrieve an "Output Data" file from a stored procedure instead of the "Results Viewer" using proc print. This functionality must have been taken out with newer versions, or maybe I was doing something wrong.

To fix this issue, I have my SAS connected to an excel file that the end-user will run the program(s) from so that they won't need to worry about the output being "Results Viewer".

Upvotes: 1

Related Questions