BookmarkSubscribeRSS Feed

Suggesting a possible name, "_CLIENTparentDATASETlist", which is, as described, the list of dataset's connected as parents to the current program node. For example:

%LET _CLIENTTASKLABEL='Program3';

%LET _CLIENTPROJECTPATH='';

%LET _CLIENTPROJECTNAME='';

%LET _CLIENTparentDATASETlist=SASHELP.CARS SASHELP.FLAGS SASHELP.IRIS;

%LET _SASPROGRAMFILE=;

4 Comments
ballardw
Super User

And the use of the macro variable is for what purpose? How will you use the value?

PhilC
Rhodochrosite | Level 12

E.g.'s:

data concat;

  set &_CLIENTparentDATASETlist;

run;

OR

%MACRO doForEach( datasets);

  %let dataset=%scan(&datasets,1); %let i=1;

  %do while ("%dataset" %ne"");

     proc print data=&dataset;run;

      %let I=%eval(&I + 1);   

      %let dataset=%scan(&datasets,&i);

  %end;

%MEND;

%doForEach(&_CLIENTparentDATASETlist);

Kurt_Bremser
Super User

Since we are talking about Enterprise Guide, the datasets are already explicitly written in the code(s) by EG itself.

Your idea would only make sense if you wanted to control the input datasets by making connections in the process flow, but EG does it the other way round by creating connections in the process flow depending on the dataset names in the tasks themselves.

BTW, just a simple list of dataset names would never be sufficient. Tasks often deal with several datasets at once, where each dataset plays a different role, so you would also need to know which dataset is which.

Bottom line: not feasible.

BeverlyBrown
Community Manager
Status changed to: Not Planned