BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
stataq
Quartz | Level 8

Hello All, 

I'm trying to assign unique id based on the info from var1 and var2. Not sure how to do it.  New variable 'id' will restart from 1 when var1 changed.

 

stataq_0-1706543894087.png

 

 

sample data:

data have;
input var1 var2;
datalines;
1 1
1 1
1 3
2 1
2 2
2 2
2 5
;
run;

 

Thank you! 

1 ACCEPTED SOLUTION

Accepted Solutions
PaigeMiller
Diamond | Level 26

This is why Fred Flintstone invented the FIRST. and LAST. structures for SAS data steps.

 

 

data want;
    set have;
    by var1 var2;
    if first.var1 then id=0;
    if first.var2 then id+1;
run;

 

 

--
Paige Miller

View solution in original post

1 REPLY 1
PaigeMiller
Diamond | Level 26

This is why Fred Flintstone invented the FIRST. and LAST. structures for SAS data steps.

 

 

data want;
    set have;
    by var1 var2;
    if first.var1 then id=0;
    if first.var2 then id+1;
run;

 

 

--
Paige Miller

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 415 views
  • 0 likes
  • 2 in conversation