BookmarkSubscribeRSS Feed
0 Likes

For example, "One-Way Frequencies", under Results and "Create data set with Freq...", this idea would mean adding a text box to this section of the dialog that would accept dataset options (for each analysis varaible) that either would be inserted in with the dataset options already generated or would override the defalut options.

 

Lables, indexes. drop/keep/rename variables could be added to the output dataset by the user, or whatever is allowed by the FREQ procedure.

 

 

9 Comments
ballardw
Super User

I'm not sure how you use a dataset option to any analysis variable. Variables aren't datasets. I think need to expand quite a bit on what you are describing.

 

 

PhilC
Rhodochrosite | Level 12

Thanks,  I need to explain that. In the dialog/Task "One-Way Frequencies", each variable gets one TABLE statement in the underlying PROC FREQ, and in PROC FREQ there is one OUT=dataset option possible for each TABLE statement.  The task identifies the TABLE statement by the name of the one variable that the task assigns to it.  In the dialog the user can choose to name different datasets associated with each variable name choosen to be an Analysis variable, but it is truly the dataset name for the TABLE statment.. This is a "perspective" that is particular to the "One-Way Frequencies" task.

ballardw
Super User

There may also be a vocabulary issue. I think you are using "dataset options" in a way that (curmudgeonly) experienced SAS users wouldn't. Dataset options things like Keep, drop, rename, firstobs, obs, in , label, where and a number of others that have affect on an entire dataset.

 

I believe that limitation you observe is coming from the basic behavior of Proc Freq. The out=dataset for Proc Freq only works for a single table generated.

For example

Proc freq data=sashelp.class;

   Tables sex age;

run;

will generate two tables, one for each variable. When you try

proc freq data=sashelp.class;

   tables sex age/ out=sexdata;

run;

the output data set will be for Age (or the last variable in a list). So the approach to generate separate output sets is

proc freq data=sashelp.class;

   tables sex/ out=sexdata;

   tables age/out = agedata;

run;

 

I have to admit that I don't use EG for any of these tasks because 1) almost all of my work is ad hoc and the extra overhead involved with trying to use a point-and-grunt interface to create a 'project' that gets used once over writing code is more time for the same result, 2) the menus don't have everything, or the implimentation has issues and 3) code survives upgrades to base sas better than projects appear to.

 

If you were to post a question with more details about what data you start with and what you are attempting to get as a result you might find that there are approaches that accomplish what you need.

PhilC
Rhodochrosite | Level 12

, You have my gratitude.  I think you are making a mistake here,because we are talking in "SASware Ballot Ideas", not "SAS communites".  This is not a help question, this is a suggestion for improving on an aspect of Enterprise Guide.

PhilC
Rhodochrosite | Level 12

While your comment is here

If the task can produce the code here

proc freq data=sashelp.class;
   tables sex/ out=sexdata;
   tables age/out = agedata;
run;

 

then I would like the task to be able to also produce the code here (emphasis on the dataset options):

proc freq data=sashelp.class;
   tables sex/ out=sexdata (DROP=PRECENT RENAME=(sex=gender) );
   tables age/out = agedata(DROP=COUNT   index=(age \unique) );
run;

 

PhilC
Rhodochrosite | Level 12

There's a list of tasks that this idea could be implemented in, this is not an exhaustive list of tasks:

  • "One-Way Frequencies", (PROC FREQ)
  • "Tanspose" (PROC TRANSPOSE)
  • Summary Statistics (PROC SUMMARY/MEANS)
ballardw
Super User

then I would like the task to be able to also produce the code here (emphasis on the dataset options):

proc freq data=sashelp.class;
   tables sex/ out=sexdata (DROP=PRECENT RENAME=(sex=gender) );
   tables age/out = agedata(DROP=COUNT   index=(age \unique) );
run;

 

Now I understand what you meant and agree that options should be available.

BeverlyBrown
Community Manager
Status changed to: Open
 
ChrisHemedinger
Community Manager
Status changed to: Under Consideration

The team is considering adding this to the tasks that you mention.  These future changes would appear in SAS Studio tasks, which can also be used within SAS Enterprise Guide when you have SAS Studio installed (same machine, or Enterprise edition on a server).