Hi, in fact, the lag function documentation does show how you can use lag2, lag3 etc. Depending on the procedure you're going to use for your analysis, you may want to turn your long skinny data into wide data with PROC TRANSPOSE, instead of using LAG.
The Transpose documentation has some good examples of turning long skinny data into wide data (so that for one company, you'd have all the information for all the years on the same observation).
It really comes down to how your analytical procedure needs to have the data structured for analysis. If you look at the doc on your procedure of choice, then you can see how they structure the sample data that's going into the procedure. Then, by comparing your data structure to the sample data, you can figure out the transformations, if any, that you need. And whether LAG or TRANSPOSE will work better for you.
I believe there have been quite a few previous forum postings on both LAG and TRANSPOSE, too, so perhaps a search of the forum would be beneficial.
cynthia