BookmarkSubscribeRSS Feed
MarkWik
Quartz | Level 8

I'd like to understand how to combine obs from different records into a single observation in the output?For example, in sashelp.class or using some of your own input, can anybody demonstrate with a code how to accomplish the same?

1. combine 4,6,and 8 to the 3rd observation?

2. combine 2nd obs, and last observation to 1st obs.

What i really am after is i wanna understand how you look prev once you are past that iteration in the implied datastep loop. Examples i would appreciate is doing the sample in 1. multiple pass and 2. in single pass. Any kind of simple, medium and complex examples will really help.

1 REPLY 1
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Hi,

Provide some test data and required output.  There are many logical methods of looking up observations which fit into many differing scenarios - hash tables, merge statements, have a set in a conditional branch, sub-querying in sql, lag() function, by group processing, arrays etc.  Say for instance your first options - combine 4,6,8 to 3rd observation - what does this actually mean.  The position of a row in a dataset is purely arbitrary, so if I sort that dataset maybe row 8 will be in position 3.  I wouldn't recommend to use arbitrary row number as a means to identify specific data.

If however row 4, 5, 6 contains a id variable for "sum" and row 3 has the id "total" then we could do:

data have;

  idvar="not used"; output;

  idvar="not used"; output;

  idvar="total"; result=.; output;

  idvar="sum"; result=4; output;

  idvar="sum"; result=3; output;

  idvar="sum"; result=6; output;

run;

proc sql;

  create table WANT as

  select  IDVAR,

          (select SUM(RESULT) from WORK.HAVE where IDVAR="sum") as RESULT

  from    WORK.HAVE

  where   IDVAR="total";

quit;

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

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
  • 1 reply
  • 664 views
  • 0 likes
  • 2 in conversation