https://github.com/decisionstats/sas-for-data-science/blob/master/split%20test%20and%20control.sas

| data cars; |
| set sashelp.cars; |
| run; |
| data cars2; |
| set sashelp.cars; |
| where ranuni(12) <=.25; |
| run; |
|
data cars2;
set sashelp.cars;
where ranuni(12) <=.25;
run;
NOTE: There were 114 observations read from the data set SASHELP.CARS.
WHERE RANUNI(12)<=0.25;
NOTE: The data set WORK.CARS2 has 114 observations and 15 variables.
|
| data cars3 cars4; |
| set sashelp.cars; |
| if ranuni(12)<=.25 then output cars3; |
| else output cars4; |
| run; |
|
data cars3 cars4;
set sashelp.cars;
if ranuni(12)<=.25 then output cars3;
else output cars4;
run;
NOTE: There were 428 observations read from the data set SASHELP.CARS.
NOTE: The data set WORK.CARS3 has 114 observations and 15 variables.
NOTE: The data set WORK.CARS4 has 314 observations and 15 variables.
|
| PROC SURVEYSELECT DATA=cars OUT=test_cars METHOD=srs SAMPRATE=0.25; |
| RUN; |
| PROC SURVEYSELECT DATA=cars outall OUT=test_cars2 METHOD=srs SAMPRATE=0.25; |
| RUN; |
|
PROC SURVEYSELECT DATA=cars OUT=test_cars METHOD=srs SAMPRATE=0.25;
RUN;
NOTE: The data set WORK.TEST_CARS has 107 observations and 15 variables.
NOTE: PROCEDURE SURVEYSELECT used (Total process time):
PROC SURVEYSELECT DATA=cars outall OUT=test_cars2 METHOD=srs SAMPRATE=0.25;
RUN;
NOTE: The data set WORK.TEST_CARS2 has 428 observations and 16 variables.
NOTE: PROCEDURE SURVEYSELECT used (Total process time):
|
| proc print data=test_cars2 (obs=6); |
| var selected; |
| run; |
| proc freq data=test_cars2; |
| tables selected/norow nocol nocum nopercent; |
| run; |
| data test ; |
| set test_cars2; |
| where selected=0 ; |
| run; |
| data control ; |
| set test_cars2; |
| where selected=1 ; |
| run; |

Output
