BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
DmytroYermak
Lapis Lazuli | Level 10

Hi all,

 

I have the following 

 

How is it possible to sort the dataset by 2 variables and assign a Sequence Number in one step?

data test;
	length division group $2.;
	infile datalines;
	input division group;
datalines;
a	t1
b	m2
a	t1
b	m2
a	t2
a	t2
a	t2
b	m2
a	t1
b	m1
b	m1
a	t2


;
run;

proc print data=test; run;

I need the following output:

 

1.jpg

1 ACCEPTED SOLUTION

Accepted Solutions
PeterClemmensen
Tourmaline | Level 20

Like this?

 

data test;
input division$ group$;
datalines;
a t1
b m2
a t1
b m2
a t2
a t2
a t2
b m2
a t1
b m1
b m1
a t2
;

proc sort data=test;
	by division group;
run;

data want;
	set test;
	by division group;
	Seq+1;
	if first.group then Seq=1;
run;

View solution in original post

4 REPLIES 4
PeterClemmensen
Tourmaline | Level 20

Like this?

 

data test;
input division$ group$;
datalines;
a t1
b m2
a t1
b m2
a t2
a t2
a t2
b m2
a t1
b m1
b m1
a t2
;

proc sort data=test;
	by division group;
run;

data want;
	set test;
	by division group;
	Seq+1;
	if first.group then Seq=1;
run;
Haikuo
Onyx | Level 15

There are many ways to do the sorting in SAS, for example

proc sort data=test out=want;
by division group;
run;

Or:

 

proc sql;
create table want as
select * from test
order by division, group
;
quit;

Also, Hash object can also do sort, but it will be overdone for your purpose.

 

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 32116 views
  • 3 likes
  • 3 in conversation