DATA Step, Macro, Functions and more

add group id

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 5
Accepted Solution

add group id

Hi,

 

I have dataset as follows:

Group Value

a          1

a          2

a          3

b          1

b          2

b          3

....

 

Is there a way to add group id to the dataset like follows:

Group Value  group_id

a          1         1

a          2         1

a          3         1

b          1         2

b          2         2

b          3         2

....

 

I can use proc sql and join to do this, but is there any other simpler way?

 

 

 


Accepted Solutions
Solution
‎08-18-2016 05:56 PM
Super User
Posts: 11,343

Re: add group id

Assuming the data is sorted by group

data want;
   set have;
   by group;
   retain group_id 0;
   if first.group then group_id+1;
run;

If the data is grouped by the group variable but not in sort order:

 

data want;
   set have;
   by  group notsorted;
   retain group_id 0;
   if first.group then group_id+1;
run;

View solution in original post


All Replies
Solution
‎08-18-2016 05:56 PM
Super User
Posts: 11,343

Re: add group id

Assuming the data is sorted by group

data want;
   set have;
   by group;
   retain group_id 0;
   if first.group then group_id+1;
run;

If the data is grouped by the group variable but not in sort order:

 

data want;
   set have;
   by  group notsorted;
   retain group_id 0;
   if first.group then group_id+1;
run;
Occasional Contributor
Posts: 5

Re: add group id

Thank you very much. It worked.

 

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 357 views
  • 0 likes
  • 2 in conversation