Hi.
Why am I not allowed to keep a first.variable (or last.variable) when using by group processing?
I though that the first and last .variables were added to the PDV with an initial frop flag, which in my mind means that I kan also keep them if I want to?
I know that I can get around this issue by simply assigning the first.variable to a new variable as in the example below, but I am interested in the reason as to why the test1 dataset fails and the test2 dataset succeeds.
proc sort data = sashelp.cars out=testdata;
by cylinders;
run;
data test1;
set testdata;
by cylinders;
keep first.cylinders;
run;
data test2;
set testdata;
by cylinders;
first = first.cylinders;
keep first;
run;Regards
The automatic variables created through dataset options (end=, nobs=, etc) or a by statement can never be kept in a dataset. You need to assign their values to "normal" variables, which will automatically appear in the output.
data want;
set have;
by group;
first_group = first.group;
run;
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.