You can use proc univariate to create 20 groups/10 equal groups. One way is to use proc rank with groups=10 option SAS Code: proc rank data = have groups = 10 out = out1; var income; ranks predgroup; run; Here out1 will have rank variable taking values 0 to 9. 10 equal groups. Another way is to use proc univariate with output statement; SAS Code: proc univariate data = have; var income; output out=out1 pctlpts = 10 to 100 by 10 pctlpre = inc; run; This gives you 10%,20%...90% & 100% percentile points. You can create proc format to create formats which can be easily used over the course of diff programs. There are some advantages in using proc univariate: 1. Weight option is available in proc univariate(not available in proc rank) 2. You dont have to create the whole dataset again. It is simple Thanks, zilok
... View more