Compute the required sampling rates in each strata (Y and N), use surveyselect to draw the sample and use a WHERE clause to drop the strata=N from the selected sample: data vendor_seg; Input ID $ 1-4 Rank $ 6; datalines; 1771 Y 3456 Y 5134 N 9087 Y 2829 Y 2749 Y 9987 Y 3094 Y 2938 N 8320 Y 5681 Y 2922 N 0987 Y 1108 N 3879 N 8734 N 1930 N 4752 Y 5609 N 7541 Y 8745 Y 9109 N 5904 Y 7145 Y 0876 N 2939 Y 7340 Y ; proc sort data=vendor_seg; by rank; run; proc sql; create table strataRate as select rank, 0.2*sum(n)/n as _rate_ from (select rank, count(*) as n from vendor_seg group by rank); proc surveyselect data=vendor_seg seed=1239 rate=strataRate out=sample(where=(rank="Y")); strata rank; run; PG
... View more