Hello,
I need a quick help. I have the following data:
ID Group Price
1 x 10
1 y 9
2 x 3
2 x 4
2 z 7
...
...
I wanted a subtotal of price by group and then by ID but would like to create a dataset out of parent data, without displaying using proc print (which took a long time).
Thanks.
proc summary data=have nway;
class group id;
var price;
output out=want (drop=_type_ _freq_) sum=;
run;
If you want to know how many records were in each combination of group and id remove _freq_ in the code above. That is what that variable holds.
proc summary data=have nway;
class group id;
var price;
output out=want (drop=_type_ _freq_) sum=;
run;
If you want to know how many records were in each combination of group and id remove _freq_ in the code above. That is what that variable holds.
Thank you for the quick help. Is there anyway I can do the same thing using first. and last. processing?
There is a simple way :
data have;
input ID Group $ Price;
datalines;
1 x 10
1 y 9
2 x 3
2 x 4
2 z 7
;
proc sort data=have; by group id; run;
data want;
do until(last.id);
set have; by group id;
priceSum = sum(priceSum, price);
end;
keep group id priceSum;
run;
PG
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.