I actually just figured it out. Since the PROC SQL step gave me a data set where each observation was identical and had the total number of fatalities, people involved, and number of drivers over the legal limit, I was able to take that data set and remove duplicates. Below is the full code. This probably could have been done more efficiently, but it does what I need it to do. DATA test;
input casenum persnum numfatal county $ driver alcdriver;
datalines;
1 1 2 A 1 1
1 2 2 A 1 0
1 3 2 A 1 1
1 4 2 A 0 0
1 5 2 A 0 0
2 1 3 B 1 1
2 2 3 B 0 0
2 3 3 B 0 0
3 1 1 B 1 1
3 2 1 B 1 1
4 1 1 B 1 0
;
RUN;
PROC TABULATE DATA=test;
TITLE 'TEST';
CLASS county;
VAR numfatal;
TABLE county, SUM*(numfatal);
WHERE alcdriver=1;
RUN;
PROC SQL;
CREATE TABLE test2 as
SELECT casenum as casenum,
max(persnum) as persnum,
max(numfatal) as numfatal,
county as county,
sum(alcdriver) as alcdriver
FROM test
GROUP BY casenum;
RUN;
QUIT;
PROC SORT DATA=test2;
BY casenum;
RUN;
DATA test3;
SET test2;
BY casenum;
IF first.casenum;
RUN;
PROC TABULATE DATA=test3;
TITLE 'TEST 2';
CLASS county;
VAR numfatal;
TABLE county, SUM*(numfatal);
WHERE alcdriver GT 0;
RUN;
... View more