BookmarkSubscribeRSS Feed
Tom
Super User Tom
Super User

@J111 wrote:

Hello,

The administrator checked and the WORK space was fine during the run.

Seems like not a code problem either.

any idea ?


What "server" are you losing connection to?  Your code did not appear to be attempting to use SAS/Connect or SAS/Access to some external database.

 

Is it possible you are using some front end tool to submit your program, like SAS/Studio or Enterprise Guide, and it is the connection from that front end to the SAS server itself that is closing? 

 

Perhaps it is because the LOG file is just getting too big?

Try using PROC PRINTTO to route the log for that section of the code to another file.

 

Perhaps it is because the job is just taking too long?

J111
Quartz | Level 8
Thanks for the proc printo idea, yes we are using EGuide




8
Kurt_Bremser
Super User

@J111 wrote:
Thanks for the proc printo idea, yes we are using EGuide

Then you should reduce the log size; EG needs to keep the whole log in memory, and the nicely formatted text eats a lot of it.

Why do you need a complete listing of the created code in the log, when the later execution of it will be in the log anyway?

J111
Quartz | Level 8
Just updating that we plan to change the data structure and this might also solve this issue. I can check this in the next few days.
J111
Quartz | Level 8
Hello We solved the issue by changing the data structure Thanks everyone The topic can be closed
Ksharp
Super User

You could try to use CALL EXECUTE instead of "%include" .

 

data MATCHING_TABLE_FUNC ;
input  Target $ Formula & $20.;
cards;
v1  x1 + x2 /x3 + x4
v2  x1 + x2 + x4
v3  x1 + x2 + x3
v4  x1 + x2 
;

data TRNP_SERIES_LIST ;
input date :date9. x1 x2 x3 x4;
format date date9.;
cards;
01jan2010 1 2 3 4
01jan2010 4 3 2 1
;

data MATCHING_TABLE_FUNC2;
 set MATCHING_TABLE_FUNC;
 function=catx('=',target,formula)||';';
 keep function;
run;
data _null_;
set MATCHING_TABLE_FUNC2 end=last;
if _n_=1 then call execute('Data Formula_ ; set TRNP_SERIES_LIST ;');
call execute(strip(function));
if last then call execute('run;');
run;



Ksharp
Super User
I think ballardw was right.
There could be some error data at OBS=177.
For example:
obs x1 x2
177 1 0
when you have formula "target=x1/x2;" ,that could lead to an error.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 21 replies
  • 804 views
  • 2 likes
  • 5 in conversation