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;
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.