## Row Numbers

Sometimes you need a column in your data set that indicates the row number. This might be useful as an artificial identifier, a rank, or something else. In this article, we explain two ways how to add row numbers in SAS.

## Adding Row Numbers with *_N_* in a Data Step

The first option to create a column with row numbers is using the automatic _N_ variable. SAS processes input data row by row and the automatic _N_variable stores the current row number. This variable is particularly useful for processing the first or last row. However, since _N_ is a variable you can also use it to add a column with row numbers.

## Adding Row Number with *monotonic() *in PROC SQL

The automatic _N_ variable can only be used in data steps. However, you can use the *monotonic()* function in PROC SQL. The monotonic function is undocumented and generates sequential numbers.

## Example: Adding Row Numbers

In the following example code, we demonstrate how to apply both options of how to add row numbers. First, we create a data set and then we add the row numbers. The three images at the end show the original data set and the two data set with the new column.

```
/* CREATE A DATA SET */
data work.examscores;
input name $ score;
datalines;
Jim 80
Maria 85
Bob 50
Cris 70
John 95
Kate 95
George 80
Susan 75
Joe 55
Jennifer 75
Lu 60
Antonio 85
;
run;
/* ADD ROW NUMBER (I) */
data work.examscores_I;
set work.examscores;
rownumber_I = _N_;
run;
/* ADD ROW NUMBER (II) */
proc sql;
create table work.examscores_II as
select *,
monotonic() as rownumber_II
from work.examscores;
quit;
```

On this page you find other useful How To’s discussed on this website.

## 3 thoughts on “How to Add Row Numbers in SAS”

Comments are closed.