DATA Step, Macro, Functions and more

Macro List

Accepted Solution Solved
Reply
Contributor
Posts: 30
Accepted Solution

Macro List

I have the following code: 

 

%MACRO DATAPREP(DATA);
%DO i = 1 %TO 1;

PROC SORT DATA = FIMR.Sleep_Logistic;
BY Case_ID__;
RUN;

PROC SORT DATA = FIMR.%SCAN(&DATA,&i);
BY Case_Number;
RUN;

DATA %SCAN(&DATA,&i);
MERGE FIMR.Sleep_Logistic (IN = A KEEP = Case_ID__ RENAME = (Case_ID__ = Case_Number)) FIMR.%SCAN(&DATA,&i) (IN = B);
BY Case_Number;
IF A and B;
RUN;

PROC CONTENTS DATA = %SCAN(&DATA,&i) NOPRINT OUT = Contents_%SCAN(&DATA,&i);
RUN;

DATA Contents_%SCAN(&DATA,&i);
SET Contents_%SCAN(&DATA,&i);
IF Length NE 1 THEN DELETE;
IF Name = 'Fetal__F__Infant__I_' THEN DELETE;
KEEP Name VarNum;
RUN;

PROC SQL;
SELECT DISTINCT Name
INTO :List_%SCAN(&DATA,&i) SEPARATED BY ' '
FROM Contents_%SCAN(&DATA,&i)
ORDER BY VarNum;
QUIT;

%END;

%MEND;

 

%DATAPREP(DATA = Environment);

 

When I then type the following: 

 

%PUT &List_Environment; 

 

I get an error that states that the symbolic reference List_Environment is not resolved.  Please HELP.


Accepted Solutions
Solution
‎01-29-2016 02:24 PM
Trusted Advisor
Posts: 1,118

Re: Macro List

[ Edited ]

Hi @Katie,

 

Please add the following statement to your macro (e.g. before the PROC SQL step).

%GLOBAL List_%SCAN(&DATA,&i);

Edit: %GLOBAL List_Environment; would work only for this specific macro variable, but in your case the name is dynamic.

View solution in original post


All Replies
Solution
‎01-29-2016 02:24 PM
Trusted Advisor
Posts: 1,118

Re: Macro List

[ Edited ]

Hi @Katie,

 

Please add the following statement to your macro (e.g. before the PROC SQL step).

%GLOBAL List_%SCAN(&DATA,&i);

Edit: %GLOBAL List_Environment; would work only for this specific macro variable, but in your case the name is dynamic.

Contributor
Posts: 30

Re: Macro List

Posted in reply to FreelanceReinhard

THANK YOU! 

☑ This topic is solved.

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

Discussion stats
  • 2 replies
  • 178 views
  • 2 likes
  • 2 in conversation