Help using Base SAS procedures

How do i use PROC REPORT to count only certain observations?

Reply
New Contributor
Posts: 3

How do i use PROC REPORT to count only certain observations?

Hello,

 

i have data with three variables, hospital, patient, and bad_event.  My desired result is a proc report table with hospital, N, and count of bad events.

 

the data looks like this

A 001 0

B 002 0

C 003 0

A 004 1

B 005 1

C 006 0

A 007 0

B 008 1

C 009 0

if i use the code below i get exactly what i want because the values for bad_event are 1 and 0. 

 

proc report data=test;
columns hospital n bad_event=bad_event_sum;
define hospital/ group;
define n / format=8.;
define bad_event_sum/ sum;
run;

 

My question is, instead of summing all of the bad_event values (ones and zeros), can i count all of the values that are not zero (for example)? i am asking because it is entirely possible that i will be given data where the values of bad_event will be, for example, 0,1,2,3,4. And in this case using sum will not work.


Thank you for any help that you can provide.

Super User
Super User
Posts: 9,599

Re: How do i use PROC REPORT to count only certain observations?

Posted in reply to the_sheriff

Do it in a datastep or procedure before hand, then use proc report as a reporting procedure only.  I never use a reporting procedure to do data manipulation.

Super User
Posts: 10,787

Re: How do i use PROC REPORT to count only certain observations?

Posted in reply to the_sheriff

NO. I is hard for proc report.

process the dataset firstly(add a new variable):

 

new_bad_event=ifn(bad_event=0,0,1);

 

After that run your code again ,using new_bad_event variable.

 

Ask a Question
Discussion stats
  • 2 replies
  • 88 views
  • 0 likes
  • 3 in conversation