Merging more than 2 data sets

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 9
Accepted Solution

Merging more than 2 data sets

Hi,

 

I would like to write a macro to merge more than 2 data sets (100 datasets to be exact), keeping only log-likelihood values in one column. Rather than type the name of every data set I tried the following code:

 

%macro merge (n=100);
%Do i= 1 %TO &n;
%LET j=%EVAL(&i+1);
data LogLall;
set LogL&i LogL&j;
keep Log_Likelihood;
run;
%END;
%MEND;
%merge;

 

The issue is only the final two datasets' values get saved to the new dataset. I want the final dataset to look as follows, but with 100 observations.

LogL.PNG

 

Any ideas how to save more than 2 datasets to the same file?

Thanks!


Accepted Solutions
Solution
‎09-19-2017 06:16 AM
Super User
Posts: 5,963

Re: Merging more than 2 data sets

Posted in reply to aoifeoneill

Have you tried it without macros?

 

data LogLall;

set LogL1-LogL100;

keep Log_Likelihood;

run;

 

The only reason to add macro language would be to move the KEEP statement to the SET statement, along these lines:

 

set LogL1 (keep=Log_Likelihood) LogL2 (keep=Log_Likelihood) ... LogL100 (keep=Log_Likelihood);

View solution in original post


All Replies
Solution
‎09-19-2017 06:16 AM
Super User
Posts: 5,963

Re: Merging more than 2 data sets

Posted in reply to aoifeoneill

Have you tried it without macros?

 

data LogLall;

set LogL1-LogL100;

keep Log_Likelihood;

run;

 

The only reason to add macro language would be to move the KEEP statement to the SET statement, along these lines:

 

set LogL1 (keep=Log_Likelihood) LogL2 (keep=Log_Likelihood) ... LogL100 (keep=Log_Likelihood);

Occasional Contributor
Posts: 9

Re: Merging more than 2 data sets

Posted in reply to Astounding
Thanks @Astounding, I wasn't aware of '-' being available.
☑ This topic is solved.

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

Discussion stats
  • 2 replies
  • 275 views
  • 0 likes
  • 2 in conversation