Hi @azt5173 and welcome to the SAS Support Communities,
Your dataset TREAT will contain only one observation (Treatment="C") because you forgot to write OUTPUT statements after each of the three assignment statements. This explains why A and B do not occur.
I don't know what your dataset SCORE looks like, but if you want to randomly assign 2310 subjects to three treatment groups, the GROUPS= option of PROC SURVEYSELECT could be helpful:
data subjects;
do subjno=1 to 2310;
output;
end;
run;
proc surveyselect data=subjects groups=(924 462 924)
out=assignment
seed=12345678;
run;
You may want to replace the numeric treatment variable GroupID with values 1, 2, 3 by a character variable TREATMENT with values "A", "B", "C" in dataset ASSIGNMENT afterwards (or just assign a format to map 1 --> "A" etc.).
The above technique as well as an alternative -- PROC PLAN -- were suggested in replies to a similar question in 2016:
https://communities.sas.com/t5/SAS-Data-Mining-and-Machine/Generate-random-order-within-a-set-of-number/m-p/285601/highlight/true#M4228
... View more