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
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.