BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
Madhav4114
Calcite | Level 5
Input
Id. Date
1. 200701
1 200701
1 200702
2 201001
2 201002
2. 201002
Need output where in flag has 1 for both duplicate rows

Output
Id Date flag
1. 200701. 1
1 200701. 1
1 200702. 0
2 201001. 0
2 201002. 1
2. 201002. 1
1 ACCEPTED SOLUTION

Accepted Solutions
4 REPLIES 4
Madhav4114
Calcite | Level 5
In this , if I add one more duplicate row then it will flag 0 in between
Astounding
PROC Star

Here's a variation to take care of that:

 

data want;
   set have;
   by id date;
   retain flag 0;
   if first.date then 
      flag = (last.date=0);
run;
Kurt_Bremser
Super User

@Madhav4114 wrote:
In this , if I add one more duplicate row then it will flag 0 in between

Then do this:

data want;
set have;
by id date;
flag = (not first.date or not last.date);
run;

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

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
  • 4 replies
  • 966 views
  • 0 likes
  • 3 in conversation