BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Paul_NYS
Obsidian | Level 7

I want to add a simple sequence number to a data set with no 'by' variable. Does anyone know how to identify the first observation in a data set so I can set this to zero and everything following it will just be an increment?

Paul

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

if _n_=1 then do ..

or initialize with retain statement

retain obs 0

You can also try:

Sequence=_n_;

View solution in original post

4 REPLIES 4
Reeza
Super User

if _n_=1 then do ..

or initialize with retain statement

retain obs 0

You can also try:

Sequence=_n_;

Paul_NYS
Obsidian | Level 7

That works fine: if _n_=1 then do ... Thanks Reeza. One somewhat related follow up, when I increment using lag, it is not working in this instance. Do yo or anyone usually use lag for something like this?

Paul

data uniquemediator1;

set uniquemediator;

if _n_=1 then do;

MedNum=1;

end;

if _n_ ne 1 then do;

MedNum=lag(MedNum)+1;

end;

run;

Reeza
Super User

Lag doesn't work in conditional if/then statements. There are papers written on this topic so you can search for those if you're interested.

I would use the following myself:

MedNum=_n_;

Paul_NYS
Obsidian | Level 7

Thanks Reeza. I think I remember that now actually. Sorry and thanks again.

And the _n_ works nicely when you don't need a 'by' variable grouping.

Paul

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
  • 8134 views
  • 3 likes
  • 2 in conversation