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

I have this:

 

Id    s1    s2    s3    s4    s5    s6    s7    s8    s9    s10    s11    s12

1     0      0      1      0      0     0      0      0      0        0       0        0

1     0      0      0      0      1     0      0      0      0        0       0        0

1     0      0      0      0      0     2      0      0      0        6       0        0

1     1      0      0      0      0     0      0      0      0        0       0        0

2     0      1      0      0      0     0      0      0      0        0       0        0

3     0      0      0      0      0     0      0      0      3        0       0        0  

3     0      1      0      0      0     0      0      0      0        0       0        0

4     0      0      0      0      0     0      0      0      0        0       0        0

5     0      0      1      0      0     0      0      0      0        0       0        0

5     0      0      0      1      0     0      0      3      0        0       6        0

 

How do I get this (all observations sorted by id in one row)?

 

Id    s1    s2    s3    s4    s5    s6    s7    s8    s9    s10    s11    s12

1     1      0      1      0      1     2      0      0      0        6       0        0

2     0      1      0      0      0     0      0      0      0        0       0        0

3     0      1      0      0      0     0      0      0      3        0       0        0  

4     0      0      0      0      0     0      0      0      0        0       0        0

5     0      0      1      1      0     0      0      3      0        0       6        0

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
Ksharp
Super User

CODE NOT TEST.

proc summary data=have;
by id;
var s: ;
output out=want max=;
run;

View solution in original post

3 REPLIES 3
LinusH
Tourmaline | Level 20
Assuming that you have only one value <> 0 per variable and id use SQL with max () ... group by id.
Data never sleeps
Ksharp
Super User

CODE NOT TEST.

proc summary data=have;
by id;
var s: ;
output out=want max=;
run;
Gothardt
Obsidian | Level 7
Thanks a lot Xia Keshan!
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
  • 3 replies
  • 1441 views
  • 0 likes
  • 3 in conversation