BookmarkSubscribeRSS Feed
R_Win
Calcite | Level 5
data l;
input id;
cards;
45
63
1023
run;

Now i want to retain the last obs to new variable;

output:
id new_id
45 1023
63 1023
1023 1023
Here 1023 is the last obs it shold move to new variable new_id
3 REPLIES 3
SPR
Quartz | Level 8 SPR
Quartz | Level 8
Hello R_Win;

This is a solution:
[pre]
data l;
input id;
cards;
45
63
1023
run;
data _null_;
set l end=l;
if l then call symputx ('id',id);
run;
data r;
set l;
new_id=&id;
run;
[/pre]
Sincerely,
SPR
DBailey
Lapis Lazuli | Level 10
just for clarification....

set l end=l;

That's the letter L...not the number 1. Sometimes confusing in certain fonts.
Ksharp
Super User
[pre]
data l;
input id;
cards;
45
63
1023
;
run;

data want;
set l nobs=nobs;
if _n_ eq 1 then set l(rename=(id=new_id)) point=nobs;
run;
[/pre]

Ksharp
What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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