BookmarkSubscribeRSS Feed
nnnwf
Fluorite | Level 6

i have proc means procedure as below. I want to modify it to show count of 0 values for each column. 

 

or

 

is there any other proc that i could use that will provide me below for selected numeric columns in my dataset?

MEAN STD MIN MAX N NMISS 0count

 

 

 

data work.staff;
   infile datalines dlm='#';
   input Name & $16. IdNumber $ Salary 
         Site $ HireDate date7.;
   format hiredate date7.;
   datalines;
Capalleti, Jimmy#  2355# 21163# BR1# 30JAN09
Chen, Len#         5889# 20976# BR1# 18JUN06
Davis, Brad#       3878# 19571# BR2# 20MAR84
Leung, Brenda#     4409# 34321# BR2# 18SEP94
Martinez, Maria#   3985# 0# US2# 10JAN93
Orfali, Philip#    0740# 50092# US2# 16FEB03
Patel, Mary#       2398# 35182# BR3# 02FEB90
Smith, Robert#     5162# 40100# BR5# 15APR66
Sorrell, Joseph#   4421# 38760# US1# 19JUN11
Zook, Carla#       7385# 22988# BR3# 18DEC10
run;

PROC MEANS DATA=WORK.staff
	FW=12
	PRINTALLTYPES
	CHARTYPE
	VARDEF=DF 	
		MEAN 
		STD 
		MIN 
		MAX 
		N 
		NMISS	;
	VAR Salary HireDate;

RUN;

 

 

5 REPLIES 5
SASKiwi
PROC Star

Checking Related topics to your post can be useful. Does this help? 

https://communities.sas.com/t5/SAS-Procedures/PROC-FREQ-Include-Zero-Counts/m-p/325505#M62255

nnnwf
Fluorite | Level 6

how could i include other statistics, like mean median mode max min etc along with count of 0s? i would like to have a single output table similar to proc freq

Astounding
PROC Star

The simplest way would be to work with your data, creating a new variable:

 

if salary = 0 then _0_count = 0;

 

Now the N statistic for _0_count gives you a count of the zeros.

nnnwf
Fluorite | Level 6

but that would mean that i have to create dummy column for each column in my data. I have 100+ columns and i cannot create dummy column for each

ballardw
Super User

See if this gives you something usable.

proc format library=work;
value iszero
0='Yes'
other='No'
;
run;

proc tabulate data=have;
   class _numeric_/missing;
   format _numeric_ iszero.;
   tables _numeric_ ,
          n
   ;
run;

replace HAVE with the name of your data set.

 

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 5 replies
  • 3854 views
  • 0 likes
  • 4 in conversation