Reputation: 572
Consider the following data set test
:
Drug Quantity State Year
A
B
C
. . . .
How would I sum up the quantities of each drug grouped by state and year? Would it be something like:
data test;
by Drug State Year;
Total = sum(Quantity)
run;
Upvotes: 1
Views: 92
Reputation: 1449
Mucio answer is good, but if you are after SAS SQL version, here it is:
data test;
input Drug $ Quantity State $ Year;
datalines;
A 10 NY 2013
A 20 NY 2014
B 110 NY 2013
B 210 NY 2014
A 50 OH 2013
A 60 OH 2014
B 150 OH 2013
B 260 OH 2014
A 22 NY 2014
B 100 OH 2013
;
RUN;
PROC SQL;
CREATE TABLE EGTASK.QUERY_FOR_TEST AS
SELECT t1.Drug,
t1.State,
t1.Year,
/* SUM_of_Quantity */
(SUM(t1.Quantity)) AS SUM_of_Quantity
FROM WORK.TEST t1
GROUP BY t1.Drug,
t1.State,
t1.Year;
QUIT;
Result:
Upvotes: 1
Reputation: 7119
You need something like this:
data test;
input Drug $ Quantity State $ Year;
datalines;
A 10 NY 2013
A 20 NY 2014
B 110 NY 2013
B 210 NY 2014
A 50 OH 2013
A 60 OH 2014
B 150 OH 2013
B 260 OH 2014
A 22 NY 2014
B 100 OH 2013
;
RUN;
proc means data= test SUM MAXDEC=0;
class Drug State Year;
var Quantity;
RUN;
Upvotes: 1