BookmarkSubscribeRSS Feed
lerdem
Quartz | Level 8

I have a table as below:

 

  id        term        table

  2          2015      bal

  2          2016      bal

  2          2016      tas

  3          2014      som

  3          2015      som

 4           2015     som

 4           2016     bal

 4           2016      cim

 

i need if same id and same term change the table name as 'BOTH'  like the table as below

 

id        term        table

  2          2015      bal

  2          2016      BOTH

  3          2014      som

  3          2015      som

 4           2015     som

 4           2016     BOTH

 

 

2 REPLIES 2
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Hi,

 

proc transpose data=have out=want prefix=var;
  by id term;
  var table;
run;
data want (drop=name var1 var2);
  set want;
  table=ifc(missing(var2),var1,"BOTH");
run;
Ksharp
Super User
data have;
input id        term        table $;
cards;
  2          2015      bal
  2          2016      bal
  2          2016      tas
  3          2014      som
  3          2015      som
 4           2015     som
 4           2016     bal
 4           2016      cim
;
run;

data want;
 set have;
 by id term;
 if not (first.term and last.term) then  table='BOTH';
 if first.term;
run;

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 1852 views
  • 0 likes
  • 3 in conversation