Good afternoon – in the below data set that I have narrowed down, I’m running into the problem of how to sum up 1 column, while keeping the others constant. For example, I want to sum up the # of people that are eligible for MASS, BOSTON, SEAFOOD,
Dataset example is:
STATE |
CITY |
FOOD |
NAME |
Eligible2 |
MASS |
BOSTON |
SEAFOOD |
MARY |
1 |
MASS |
BOSTON |
SEAFOOD |
FRANK |
1 |
MASS |
BOSTON |
SEAFOOD |
DAN |
1 |
MASS |
BOSTON |
SEAFOOD |
SAM |
0 |
While what I’m hoping for an output would be:
STATE |
CITY |
FOOD |
Eligible |
MASS |
BOSTON |
SEAFOOD |
3 |
Any suggestions?
Thank you!
Proc SQL;
create table want as
select State, city, food, sum(eligible2) as eligible
from havetable
group by state, city, food
;
quit;
Something like this?
Thank you dsbihill. That got me down to just one error:
22
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string,
a numeric constant, a datetime constant, a missing value, BTRIM, INPUT, PUT,
SUBSTRING, USER.
Hello,
As an alternative you can try:
proc means data=sashelp.cars nway sum nonobs;
class make type origin;
var invoice;
run;
Also Proc Summary can be used for purpose like this.
proc summary data=have sum nway ;
class State City Food;
var Eligible2 ;
output out=want(drop=_type_ _freq_) sum=Eligible;
run;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.