BookmarkSubscribeRSS Feed
SASACC
Calcite | Level 5
Pls help me summarising Character Variables.

I have a table as below :

CON RANK
INS1 1
INS2 1
INS3 2
INS5 2
ALC 2
RET 3


I want new table group by Rank.

i.e.

CON Rank
INS1/INS2 1
INS3/INS5/ALC 2
RET 3

I used First. And last. In that case I am missing the middle Value.
2 REPLIES 2
DanielSantos
Barite | Level 11
Hi.

You must be using FIRST/LAST the wrong way.
[pre]
data OUTDATA;
length CON $200; * allocate new var;
set INDATA (rename=(CON=_CON)); * rename old var;
by RANK;
retain CON;
drop _:;
if first.RANK then CON=_CON; * reset at the beginning of the group;
else CON=catx('/',CON,_CON); * concatenate;
if last.RANK; * output at the end;
run;
[/pre]
Cheers from Portugal.

Daniel Santos @ www.cgd.pt
SASACC
Calcite | Level 5
Thanks it worked.

Catch up on SAS Innovate 2026

Dive into keynotes, announcements and breakthroughs on demand.

Explore 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
  • 1821 views
  • 0 likes
  • 2 in conversation