I have the following dataset
data have;
input profit;
datalines;
52
34
60
57
70
;
run;
I want to write a program that will create a new dataset, only containing the difference between the first and last observation?
In this case the code would show 70 (last observation) - 52 (first observation), so the output would be 18.
Here is one way:
data want;
set have end=last;
retain first;
if _n_ eq 1 then first=profit;
if last then do;
result=profit-first;
output;
end;
run;
Art, CEO, AnalystFinder.com
Here is one way:
data want;
set have end=last;
retain first;
if _n_ eq 1 then first=profit;
if last then do;
result=profit-first;
output;
end;
run;
Art, CEO, AnalystFinder.com
hi,
data want(drop=_profit);
set have(firstobs=min);
set have(rename=(profit=_profit)) nobs=_nobs_ point=_nobs_;
d=_profit-profit;
output;
stop;
run;
Regards,
Naveen Srinivasan
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!
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.