## Last.X and First.X on the same time

Solved
Regular Contributor
Posts: 210

# Last.X and First.X on the same time

Hi all,

For instance a dataset is sorted by variable X.

How in one iteration reveal if an observation is only one in a group:

``if first.X and last.X ...``

Thank you!

Accepted Solutions
Solution
‎02-16-2018 10:20 AM
Super User
Posts: 9,415

## Re: Last.X and First.X on the same time

Thats it you have it.

```data want;
set have;
by x;
if first.x and last.x then only_one="Yes";
else only_one="No";
run;```

All Replies
Solution
‎02-16-2018 10:20 AM
Super User
Posts: 9,415

## Re: Last.X and First.X on the same time

Thats it you have it.

```data want;
set have;
by x;
if first.x and last.x then only_one="Yes";
else only_one="No";
run;```
Regular Contributor
Posts: 210

## Re: Last.X and First.X on the same time

You are definitely right ). It was rather a "tough" day today (
Super User
Posts: 9,415

## Re: Last.X and First.X on the same time

No probs, it likely not be the first or last tough day!

Contributor
Posts: 37

## Re: Last.X and First.X on the same time

[ Edited ]

Hi,

If you sort a data set  and in a data step when you specify by variable then sas creates two automatic variables back end they are first.by variable and last.by variable.

first.by variable value is=1 for the first observation in a dataset and rest of all the by group will be =0 except last.by variable. that will be one

You can observe it by writing example

proc sort data=ds;
by sex;
run;
data ds;
set sashelp.classfit;
by sex;
put _all_;'

if first.sex and last.x then flag=1;

else flag=0;
run;

Thanks

☑ This topic is solved.