Desktop productivity for business analysts and programmers

How to stop "data set limit reached" from appearing in my process flow.

Accepted Solution Solved
Reply
N/A
Posts: 1
Accepted Solution

How to stop "data set limit reached" from appearing in my process flow.

Hi;

i am creating an project using SAS EG 4.3, and i want to limit the number of
tables that will appears in the process flow to the ones that i select( placed
in the process flow), so i named all my intermediate calculation table starting
by _TO_, which i think make them temporary and stop them from appearing in my
process flow, in the same time i need to keep some tables without showing them,
so I set the max number of data sets to appear to 0(zero). but now am stuck
with a warning note" data set limit reached" that appear in my
process flow.

so any one could please help me to find a way to stop this warning note from
appearing? Thanks.


Accepted Solutions
Solution
‎10-06-2015 06:12 AM
Community Manager
Posts: 2,697

Re: How to stop "data set limit reached" from appearing in my process flow.

I don't think you want 5000 tables to be added to your SAS Enterprise Guide project.  That would make the project impossible to navigate (and very large and probably slow).

 

Here's what I suggest.  Put all of this in your SAS program that runs the PROC ARIMA.  It's important that all of these statements reside in the same program node, so they are run in one batch.

 

  1. Create a special libname to store your PROC ARIMA output:

    libname arima_t "c:\projects\arimaout";

  2. Then following that, include the PROC ARIMA code (and whatever else you need for this analysis).  Send the PROC ARIMA output to this ARIMA_T library (using OUT= or ODS OUTPUT if that's what you're using -- just make sure this library is referenced).

  3. In the same program at the end, clear the ARIMA_T library (undefine it):

    libname arima_t CLEAR;

    This prevents EG from automatically adding data that was created using this library name.

  4. Then re-assign a library of a different name to the same path:

    libname arima "c:\projects\arimaout";


All of your output data will be present in the ARIMA library (in this example), but won't be added to the project (because EG won't detect the data sets automatically).  You can use File->Open or use the Servers list to navigate the list of data sets in the new library.

 

Chris

View solution in original post


All Replies
Contributor
Posts: 23

Re: How to stop "data set limit reached" from appearing in my process flow.

Try 

Menu tools / options  - opens a window

Then on the left select Results General, on the right hand side make sure "Automatically add output data to the project tree" is unticked.

If you want to keep the datasets outside of the sas session declare a library, just remember to delete them when you no longer need them Smiley Happy

Libname temp 'W:\SAS_Temp';

data temp.blahdata;

.....

Community Manager
Posts: 2,697

Re: How to stop "data set limit reached" from appearing in my process flow.

Another trick is to allocate a library for your intended output data sets, and then "clear" the library before your program ends.  The data set files remain in the folder, but as the allocated library is no longer defined EG won't add them to the project.

Then, in a separate step, you can reassign the library and add just the data sets you want.

Chris

Frequent Contributor
Posts: 115

Re: How to stop "data set limit reached" from appearing in my process flow.

I unchecked the Automatically add button in my options and I still always get the Data Set Limit Reached.

I am using version 6.1 of Enterprise Guide.

Any suggestions on how to remove this for good?

Thank you.

Respected Advisor
Posts: 3,065

Re: How to stop "data set limit reached" from appearing in my process flow.

Try setting the option Maximum number of datasets added to project to 0. You will find this in the Options > Results > Results General.

This will mean no datasets are added to your process flow but they are still available in the Server List. If you still prefer them to be added increase the default number 50 to a limit that will not be reached.

Frequent Contributor
Posts: 115

Re: How to stop "data set limit reached" from appearing in my process flow.

Still does not work. Below are the pictures of the checked and unchecked options, as well as the project tree.

Capture1.JPG

Capture2.JPG

Thank you.

Respected Advisor
Posts: 3,065

Re: How to stop "data set limit reached" from appearing in my process flow.

The message will only disappear if you set the default number to a limit bigger than the number of datasets you are producing (say 100, 200 etc.). Setting it to 0 will make the message appear all the time.

Frequent Contributor
Posts: 115

Re: How to stop "data set limit reached" from appearing in my process flow.

This still does not work for me.

I am trying to upload my images, but I cannot do it in Communities for some reason right now.

Any thoughts without actually seeing my images? Maybe there is a way for me to post the files of the images.

Thank you.

Respected Advisor
Posts: 3,065

Re: How to stop "data set limit reached" from appearing in my process flow.

So have you tried my last suggestion of setting the number of datasets much higher, like 100, 200 etc?

Frequent Contributor
Posts: 115

Re: How to stop "data set limit reached" from appearing in my process flow.

Yes, you are correct. The picture in the thread showed that (1) automatically adding the output to the tree is unchecked & (2) the maximum number of output files is 500.

Any other ideas are welcome. Thank you very much.

Respected Advisor
Posts: 3,065

Re: How to stop "data set limit reached" from appearing in my process flow.

How many datasets is your session producing? 500 as quite high, but you could push it up to 1000 or more.

Frequent Contributor
Posts: 115

Re: How to stop "data set limit reached" from appearing in my process flow.

That's not the issue. I am only producing about half a dozen datasets.

Something must be getting lost in the translation, and I am probably poorly wording my issue. The second  image posted above shows all of the datasets that are produced. It is slightly cleaner if I say to produce at most zero datasets. But then after each syntax module it has an arrow pointing to Data Set Limit Reached.

Perhaps this is just not doable as well.

Thank you.

Community Manager
Posts: 2,697

Re: How to stop "data set limit reached" from appearing in my process flow.

Zach,

Is the "_TO_" trick working for you? That behavior was changed in 9.3:

http://blogs.sas.com/content/sasdummy/2011/03/29/undocumented-features-theres-a-reason-they-are-not-...

The only way that I know of to control which data sets appear in the process flow -- as output of a code node -- is to ensure:

- those data sets you want are created by the SAS program in the node -- or at least updated/touched by the program

- the data sets your don't want are either deleted before the end of the program, or at least reside in a library that can't be reached when EG calculates which data to add to the project.  A trick would be to funnel non-essential data sets to a library that aliases to a different folder, then CLEAR the library definition at the end of the program.  The files won't be deleted, but EG won't connect with them.

Chris

Contributor
Posts: 24

Re: How to stop "data set limit reached" from appearing in my process flow.

Hi there,

 

My ods output from the proc arima should create more than 5000 tables, but the maximum I could get from EG is 500. Can anyone please help me to increase the maximum limit of output tables.

 

Thanks

Mai

Solution
‎10-06-2015 06:12 AM
Community Manager
Posts: 2,697

Re: How to stop "data set limit reached" from appearing in my process flow.

I don't think you want 5000 tables to be added to your SAS Enterprise Guide project.  That would make the project impossible to navigate (and very large and probably slow).

 

Here's what I suggest.  Put all of this in your SAS program that runs the PROC ARIMA.  It's important that all of these statements reside in the same program node, so they are run in one batch.

 

  1. Create a special libname to store your PROC ARIMA output:

    libname arima_t "c:\projects\arimaout";

  2. Then following that, include the PROC ARIMA code (and whatever else you need for this analysis).  Send the PROC ARIMA output to this ARIMA_T library (using OUT= or ODS OUTPUT if that's what you're using -- just make sure this library is referenced).

  3. In the same program at the end, clear the ARIMA_T library (undefine it):

    libname arima_t CLEAR;

    This prevents EG from automatically adding data that was created using this library name.

  4. Then re-assign a library of a different name to the same path:

    libname arima "c:\projects\arimaout";


All of your output data will be present in the ARIMA library (in this example), but won't be added to the project (because EG won't detect the data sets automatically).  You can use File->Open or use the Servers list to navigate the list of data sets in the new library.

 

Chris

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 18 replies
  • 4806 views
  • 2 likes
  • 6 in conversation