Concatenate many datasets

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 111
Accepted Solution

Concatenate many datasets

Hello,

I have a bunch of datasets labels a1y b2y c3y.

 

I would like to concatenate them into a single one, which would have a variable indicating the name of the original dataset.

It's probably easy, but I didn't find how.

 

Thank you


Accepted Solutions
Solution
‎11-10-2016 03:03 AM
Super User
Posts: 7,386

Re: Concatenate many datasets

data want;
set
  a1y
  b2y
  c3y
  indsname=_inname
;
inname = _inname;
run;

If you're having a larger bunch of datasets, you might consider to use a data _null_step with call execute to build that data step.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers

View solution in original post


All Replies
Solution
‎11-10-2016 03:03 AM
Super User
Posts: 7,386

Re: Concatenate many datasets

data want;
set
  a1y
  b2y
  c3y
  indsname=_inname
;
inname = _inname;
run;

If you're having a larger bunch of datasets, you might consider to use a data _null_step with call execute to build that data step.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Super User
Posts: 11,105

Re: Concatenate many datasets

Good practice would be to set the length of the inname variable so the whole dataset name fits. Length of $ 41 will allow for the maximum 8 characters for library, the period separator and 32 characters for the data set.

 

If you have similar named sets like: A1y A2y A3y you can use a List modifier of a colon after the stem to get all similar names. A: would include all data sets in the library whose names start with A for instance.

☑ This topic is solved.

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

Discussion stats
  • 2 replies
  • 182 views
  • 1 like
  • 3 in conversation