## Lag variable

Solved
Frequent Contributor
Posts: 75

# Lag variable

Hello,

I would like to create a lag variable for D based on qtr and mgrno. Obviously LAG doesn't work here because it doesn't recognize different mgrno.

Any ideas on this?

Many thanks in advance.

Accepted Solutions
Solution
‎05-17-2013 07:23 PM
Super User
Posts: 8,070

## Re: Lag variable

Sort the data in the right order then LAG() function will work.

data want ;

set have ;

by mgrno ticker qtr ;

lagd=lag(d);

if first.ticker then lagd=.;

run;

All Replies
Super Contributor
Posts: 418

## Re: Lag variable

If you can, give an example of what you actually want with you data as an output.  I am not worrking what you mean by lag of qrt and mgrno, and your statement about lag.

Example, your qtr of 1980-4 has the mgrno 260 40 times. Do you want the D field lagged by 1 onto each of the 260 fields (so row 1 gets lagged into row 2). Or did you want the data structured as is to be lagged, regardless of the order or MGRNO?

Frequent Contributor
Posts: 75

## Re: Lag variable

Posted in reply to Anotherdream

What I would like to do is to have the Lag Value of D for each mgrno for each stock separately.

Each stock has many investors. I want the lagged value for the particular investor.

So for example

1981-1  520 AA should have the value of 1980-4 520 AA

1981-1  835 AA should have the value of 1980-4 835 AA.

I hope you can understand what I mean.

Many thanks.

Solution
‎05-17-2013 07:23 PM
Super User
Posts: 8,070

## Re: Lag variable

Sort the data in the right order then LAG() function will work.

data want ;

set have ;

by mgrno ticker qtr ;

lagd=lag(d);

if first.ticker then lagd=.;

run;

Frequent Contributor
Posts: 75

## Re: Lag variable

Many thanks Tom!

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
• 4 replies
• 212 views
• 0 likes
• 3 in conversation