Drop does just that, drops the variable(s) from the output (or if used as a data set option before the data is brought into the data vector).
Where do you want the variable? If it is to be in the same data set then remove the drop statement.
If you want multiple data sets, one with and one without the "dropped" variable you can do so at creation:
data work.my_data (drop=i)
work.datawithdrop
;
call streaminit(123);
do i = 1 to 1000;
my_var = rand("Normal", 0, 1);
output;
end;
run;
The two data set names on the DATA statement means data may be written to both. In this case all the records will be written to both data sets. The first data set uses the option to drop the variable i when records are written to it.