BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Demographer
Pyrite | Level 9

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

1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User
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.

View solution in original post

2 REPLIES 2
Kurt_Bremser
Super User
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.

ballardw
Super User

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.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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