when i use a DO loop, the LAG function works as follows.
================
data t;
do i=1 to 4;
j=lag(i);
output;
end;
====================
it gives
==========
i j
1 .
2 1
3 2
4 3
=========
however, the following does not.
===========
data t;
i=1;j=lag(i);
output;
i=2;j=lag(i);
output;
i=3;j=lag(i);
output;
i=4;j=lag(i);
output;
run;
=========
it gives
==========
i j
1 .
2 .
3 .
4 .
==========
any idea? thanks.
Each lag function creates its own queue so with 4 lag calls versus 1 lag function you will see different behaviour.
This is is a fairly contrived example, what are you actually trying to achieve, or is it for learning purposes.
If learning, read this paper : http://www.lexjansen.com/phuse/2011/cc/CC08.pdf
Each lag function creates its own queue so with 4 lag calls versus 1 lag function you will see different behaviour.
This is is a fairly contrived example, what are you actually trying to achieve, or is it for learning purposes.
If learning, read this paper : http://www.lexjansen.com/phuse/2011/cc/CC08.pdf
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.