Hi.
In a very simple process flow, why EG task "List data" does not generate a valid SAS dataset in the following code:
31 /* -------------------------------------------------------------------
32 Code generated by SAS Task
33
34 Generated on: Tuesday, February 13, 2018 at 3:07:40 PM
35 By task: List Data
36
37 Input Data: C:\SASCOURS\results.sas7bdat
38 Server: Local
39 ------------------------------------------------------------------- */
40
41 %_eg_conditional_dropds(WORK.);
42 /* -------------------------------------------------------------------
43 Sort data set TMP00001.results
44 ------------------------------------------------------------------- */
45 PROC SORT
46 DATA=TMP00001.results(KEEP=STUDENT SEX TEST1 TEST2 TEST3 METHOD AGE)
47 OUT=WORK.
48 ;
ERROR: Invalid data set name WORK..
49 BY AGE;
50 RUN;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE SORT used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
Thanks in advance
Alain
Hi all again.
I deleted the task "List data" and I recreate it and it works. Maybe the problem comes from the fact that I imported a EG task from version 6.1 in my EG version 7.13.
So. I will not try to find more explanations on this problem.
Thanks again.
Alain (AVO339) 🙂
The part it's complaining about is:
out=work.
That's an illegal name for a data set, because of the dot. You can give the sorted data set a two-part name:
out=work.mydata
Or a one-part name:
out=mydata
Well, I don't use that interface to SAS but I would assume it gives you an opportunity to enter the name for the output from PROC SORT. Most likely (and it's really a guess), you left that blank instead of supplying a name.
What version of EG are you using?
It sounds like you filled in part of an optional field but not all and that’s messed it up. Modify the task so that the OUTPUT data set created is WORK.YOURNAME or remove the WORK. Portion.
Thanks you all for your help.
I know I can modify the code generated by a task in Enterprise Guide (7.13). I've done that before and it works but my goal is to understand why EG seems not be able to generate a "good" code. I also check many parameters (options in the tools menu) but I didn't find anything.
By the way I created another "List data" task with a different input dataset and... it works! (see below).
I'm back to work and I will do more testing on the first task. Last hint: The first task (in error) comes from an EG project (.egp) created with EG 6.1. and the second is a task created with EG 7.13 (my current version).
Alain (AVO339) 🙂
41 %_eg_conditional_dropds(WORK.SORTTempTableSorted);
42 /* -------------------------------------------------------------------
43 Sort data set TMP00002.business
44 ------------------------------------------------------------------- */
45 PROC SORT
46 DATA=TMP00002.business(KEEP=INDUSTRY NATION EMPLOYS SALES)
47 OUT=WORK.SORTTempTableSorted
48 ;
49 BY NATION;
50 RUN;
Hi all again.
I deleted the task "List data" and I recreate it and it works. Maybe the problem comes from the fact that I imported a EG task from version 6.1 in my EG version 7.13.
So. I will not try to find more explanations on this problem.
Thanks again.
Alain (AVO339) 🙂
It looks like an earlier version bug to me, and yes, it could very well be related (or specific) to the fact that it was a migrated project.
Casey
Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF
View now: on-demand content for SAS users
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.